Dim Dell_Server_NodeID
Set Dell_Server_NodeID = New AttributeProperty
Dell_Server_NodeID.setProtocol("wsman")
Dell_Server_NodeID.setClassName("cimv2/DCIM_SystemView")
Dell_Server_NodeID.setProtocolAttributeName("NodeID")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_NodeID)
Dell_Server_Obj.setAttributeDictionary("NodeID")
Dim Dell_Server_PrimaryStatus
Set Dell_Server_PrimaryStatus = New AttributeProperty
'Fan Sensor Grp
Dim Dell_Server_FanGrp_Obj
Set Dell_Server_FanGrp_Obj = New ProfileInformation
Dell_Server_FanGrp_Obj.setProfileName("Dell.Server.FanSensorGroup")
Dim Dell_Server_FanGrp_FanRollupStatus
Set Dell_Server_FanGrp_FanRollupStatus = New AttributeProperty
'FanUnit
Dim Dell_Server_FanUnit_Obj
Set Dell_Server_FanUnit_Obj = New ProfileInformation
Dell_Server_FanUnit_Obj.setProfileName("Dell.Server.FanSensor")
Dim Dell_Server_FanUnit_DeviceID
Set Dell_Server_FanUnit_DeviceID = New AttributeProperty
'Battery Sensor Grp
Dim Dell_Server_BatteryGrp_Obj
Set Dell_Server_BatteryGrp_Obj = New ProfileInformation
Dell_Server_BatteryGrp_Obj.setProfileName("Dell.Server.BatterySensorGroup")
Dim Dell_Server_BatteryGrp_BatteryRollupStatus
Set Dell_Server_BatteryGrp_BatteryRollupStatus = New AttributeProperty
'BatteryUnit
Dim Dell_Server_BatteryUnit_Obj
Set Dell_Server_BatteryUnit_Obj = New ProfileInformation
Dell_Server_BatteryUnit_Obj.setProfileName("Dell.Server.BatterySensor")
Dim Dell_Server_BatteryUnit_DeviceID
Set Dell_Server_BatteryUnit_DeviceID = New AttributeProperty
'Temperature Sensor Grp
Dim Dell_Server_TemperatureGrp_Obj
Set Dell_Server_TemperatureGrp_Obj = New ProfileInformation
Dell_Server_TemperatureGrp_Obj.setProfileName("Dell.Server.TemperatureSensorGroup")
Dim Dell_Server_TemperatureGrp_TemperatureRollupStatus
Set Dell_Server_TemperatureGrp_TemperatureRollupStatus = New AttributeProperty
'TemperatureUnit
Dim Dell_Server_TemperatureUnit_Obj
Set Dell_Server_TemperatureUnit_Obj = New ProfileInformation
Dell_Server_TemperatureUnit_Obj.setProfileName("Dell.Server.TemperatureSensor")
Dim Dell_Server_TemperatureUnit_DeviceID
Set Dell_Server_TemperatureUnit_DeviceID = New AttributeProperty
'Voltage Sensor Grp
Dim Dell_Server_VoltageGrp_Obj
Set Dell_Server_VoltageGrp_Obj = New ProfileInformation
Dell_Server_VoltageGrp_Obj.setProfileName("Dell.Server.VoltageSensorGroup")
Dim Dell_Server_VoltageGrp_VoltageRollupStatus
Set Dell_Server_VoltageGrp_VoltageRollupStatus = New AttributeProperty
'VoltageUnit
Dim Dell_Server_VoltageUnit_Obj
Set Dell_Server_VoltageUnit_Obj = New ProfileInformation
Dell_Server_VoltageUnit_Obj.setProfileName("Dell.Server.VoltageSensor")
Dim Dell_Server_VoltageUnit_DeviceID
Set Dell_Server_VoltageUnit_DeviceID = New AttributeProperty
'IntrusionUnit
Dim Dell_Server_IntrusionUnit_Obj
Set Dell_Server_IntrusionUnit_Obj = New ProfileInformation
Dell_Server_IntrusionUnit_Obj.setProfileName("Dell.Server.IntrusionSensor")
Dim Dell_Server_IntrusionUnit_DeviceID
Set Dell_Server_IntrusionUnit_DeviceID = New AttributeProperty
'CurrentUnit
Dim Dell_Server_CurrentUnit_Obj
Set Dell_Server_CurrentUnit_Obj = New ProfileInformation
Dell_Server_CurrentUnit_Obj.setProfileName("Dell.Server.CurrentSensor")
Dim Dell_Server_CurrentUnit_DeviceID
Set Dell_Server_CurrentUnit_DeviceID = New AttributeProperty
'Processors
Dim Dell_Server_Processors_Obj
Set Dell_Server_Processors_Obj = New ProfileInformation
Dell_Server_Processors_Obj.setProfileName("Dell.Server.Processors")
Dim Dell_Server_Processors_CPURollupStatus
Set Dell_Server_Processors_CPURollupStatus = New AttributeProperty
Dell_Server_Processors_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Processors",Dell_Server_Processors_Obj
'ProcUnit
Dim Dell_Server_ProcUnit_Obj
Set Dell_Server_ProcUnit_Obj = New ProfileInformation
Dell_Server_ProcUnit_Obj.setProfileName("Dell.Server.ProcUnit")
Dim Dell_Server_ProcUnit_DeviceID
Set Dell_Server_ProcUnit_DeviceID = New AttributeProperty
Dell_Server_Memory_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Memory",Dell_Server_Memory_Obj
Dim Dell_Server_MemoryUnit_Obj
Set Dell_Server_MemoryUnit_Obj = New ProfileInformation
Dell_Server_MemoryUnit_Obj.setProfileName("Dell.Server.MemoryUnit")
Dim Dell_Server_MemoryUnit_ID
Set Dell_Server_MemoryUnit_ID = New AttributeProperty
Dell_Server_MemoryUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.MemoryUnit",Dell_Server_MemoryUnit_Obj
Dim Dell_Server_PowerSupplies_Obj
Set Dell_Server_PowerSupplies_Obj = New ProfileInformation
Dell_Server_PowerSupplies_Obj.setProfileName("Dell.Server.PowerSupplies")
Dim Dell_Server_PowerSupplies_PSRollupStatus
Set Dell_Server_PowerSupplies_PSRollupStatus = New AttributeProperty
Dim Dell_Server_PSUnit_Obj
Set Dell_Server_PSUnit_Obj = New ProfileInformation
Dell_Server_PSUnit_Obj.setProfileName("Dell.Server.PSUnit")
Dim Dell_Server_PSUnit_ID
Set Dell_Server_PSUnit_ID = New AttributeProperty
Dim Dell_Server_NetworkInterfaceUnit_Obj
Set Dell_Server_NetworkInterfaceUnit_Obj = New ProfileInformation
Dell_Server_NetworkInterfaceUnit_Obj.setProfileName("Dell.Server.NetworkInterfaceUnit")
Dim Dell_Server_NetworkInterfaceUnit_ID
Set Dell_Server_NetworkInterfaceUnit_ID = New AttributeProperty
Dim Dell_Server_IDRACNetworkInterfaceUnit_Obj
Set Dell_Server_IDRACNetworkInterfaceUnit_Obj = New ProfileInformation
Dell_Server_IDRACNetworkInterfaceUnit_Obj.setProfileName("Dell.Server.iDrac.NetworkInterfaceUnit")
Dim Dell_Server_IDRAC_NetworkInterfaceUnit_ID
Set Dell_Server_IDRAC_NetworkInterfaceUnit_ID = New AttributeProperty
Dim Dell_Server_Storage_StorageRollupStatus
Set Dell_Server_Storage_StorageRollupStatus = New AttributeProperty
Dell_Server_Storage_StorageRollupStatus.setProtocol("wsman")
Dell_Server_Storage_StorageRollupStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Storage_Obj.setAttributePropertyObject(Dell_Server_Storage_StorageRollupStatus)
Dell_Server_Storage_Obj.setAttributeDictionary("StorageRollupStatus")
Dim Dell_Server_Storage_Controller_Obj
Set Dell_Server_Storage_Controller_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Obj.setProfileName("Dell.Server.Storage.Controller")
Dim Dell_Server_Storage_Controller_DeviceID
Set Dell_Server_Storage_Controller_DeviceID = New AttributeProperty
Dim Dell_Server_Storage_Controller_Battery_Obj
Set Dell_Server_Storage_Controller_Battery_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Battery_Obj.setProfileName("Dell.Server.Storage.Controller.Battery")
Dim Dell_Server_Storage_Controller_Battery_ID
Set Dell_Server_Storage_Controller_Battery_ID = New AttributeProperty
Dim Dell_Server_Storage_Controller_VirtualDisk_Obj
Set Dell_Server_Storage_Controller_VirtualDisk_Obj = New ProfileInformation
Dell_Server_Storage_Controller_VirtualDisk_Obj.setProfileName("Dell.Server.Storage.Controller.VirtualDisk")
Dim Dell_Server_Storage_Controller_VirtualDisk_ID
Set Dell_Server_Storage_Controller_VirtualDisk_ID = New AttributeProperty
'Raid status
Dim Dell_Server_Storage_Controller_VirtualDisk_RaidStatus
Set Dell_Server_Storage_Controller_VirtualDisk_RaidStatus = New AttributeProperty
'Lock status
Dim Dell_Server_Storage_Controller_VirtualDisk_LockStatus
Set Dell_Server_Storage_Controller_VirtualDisk_LockStatus = New AttributeProperty
'Object status
Dim Dell_Server_Storage_Controller_VirtualDisk_ObjectStatus
Set Dell_Server_Storage_Controller_VirtualDisk_ObjectStatus = New AttributeProperty
Dim Dell_Server_Storage_Controller_PhysicalDisk_Obj
Set Dell_Server_Storage_Controller_PhysicalDisk_Obj = New ProfileInformation
Dell_Server_Storage_Controller_PhysicalDisk_Obj.setProfileName("Dell.Server.Storage.Controller.PhysicalDisk")
Dim Dell_Server_Storage_Controller_PhysicalDisk_ID
Set Dell_Server_Storage_Controller_PhysicalDisk_ID = New AttributeProperty
'Raid status
Dim Dell_Server_Storage_Controller_PhysicalDisk_RaidStatus
Set Dell_Server_Storage_Controller_PhysicalDisk_RaidStatus = New AttributeProperty
'Primary Status
Dim Dell_Server_Storage_Controller_PhysicalDisk_PrimaryStatus
Set Dell_Server_Storage_Controller_PhysicalDisk_PrimaryStatus = New AttributeProperty
'physicalDisk Predictive Failure State
Dim Dell_Server_Storage_Controller_PhysicalDisk_PredictiveFailureState
Set Dell_Server_Storage_Controller_PhysicalDisk_PredictiveFailureState = New AttributeProperty
Dell_Server_Storage_Controller_PhysicalDisk_PredictiveFailureState.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_PredictiveFailureState.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_PredictiveFailureState)
Dell_Server_Storage_Controller_PhysicalDisk_Obj.setAttributeDictionary("PredictiveFailureState")
Dim Dell_Server_Storage_Controller_Enclosure_Obj
Set Dell_Server_Storage_Controller_Enclosure_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure")
Dim Dell_Server_Storage_Controller_Enclosure_ID
Set Dell_Server_Storage_Controller_Enclosure_ID = New AttributeProperty
Dim Dell_Server_Storage_Controller_Enclosure_EMM_Obj
Set Dell_Server_Storage_Controller_Enclosure_EMM_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure.EMM")
Dim Dell_Server_Storage_Controller_Enclosure_EMM_ID
Set Dell_Server_Storage_Controller_Enclosure_EMM_ID = New AttributeProperty
Dim Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj
Set Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure.FanSensor")
Dim Dell_Server_Storage_Controller_Enclosure_FanSensor_ID
Set Dell_Server_Storage_Controller_Enclosure_FanSensor_ID = New AttributeProperty
Dim Dell_Server_Storage_Controller_Enclosure_FanSensor_PrimaryStatus
Set Dell_Server_Storage_Controller_Enclosure_FanSensor_PrimaryStatus = New AttributeProperty
Dim Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj
Set Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure.PowerSupply")
Dim Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID
Set Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID = New AttributeProperty
Dim Dell_Server_Storage_Controller_Enclosure_PowerSupply_PrimaryStatus
Set Dell_Server_Storage_Controller_Enclosure_PowerSupply_PrimaryStatus = New AttributeProperty
Dim Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj
Set Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure.TempSensor")
Dim Dell_Server_Storage_Controller_Enclosure_TempSensor_ID
Set Dell_Server_Storage_Controller_Enclosure_TempSensor_ID = New AttributeProperty
Dim Dell_Server_Storage_Controller_Enclosure_TempSensor_PrimaryStatus
Set Dell_Server_Storage_Controller_Enclosure_TempSensor_PrimaryStatus = New AttributeProperty
'T HostNIC
Public Function PopulateHostNICProfileDictionary
Dim Dell_Server_HostNIC_Obj
Set Dell_Server_HostNIC_Obj = New ProfileInformation
Dell_Server_HostNIC_Obj.setProfileName("Dell.Server.HostNIC")
Dim Dell_Server_HostNIC_Status_ID
Set Dell_Server_HostNIC_Status_ID = New AttributeProperty
Dell_Server_HostNIC_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.HostNIC",Dell_Server_HostNIC_Obj
End Function
'LicenseGroupHealth
Dim Dell_Server_LicenseGroup_Obj
Set Dell_Server_LicenseGroup_Obj = New ProfileInformation
Dell_Server_LicenseGroup_Obj.setProfileName("Dell.Server.LicenseGroup")
Dim Dell_Server_LicenseGroup_LicensingRollupStatus
Set Dell_Server_LicenseGroup_LicensingRollupStatus = New AttributeProperty
Dell_Server_LicenseGroup_LicensingRollupStatus.setProtocol("wsman")
Dell_Server_LicenseGroup_LicensingRollupStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_LicenseGroup_Obj.setAttributePropertyObject(Dell_Server_LicenseGroup_LicensingRollupStatus)
Dell_Server_LicenseGroup_Obj.setAttributeDictionary("LicensingRollupStatus")
Dell_Server_LicenseGroup_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.LicenseGroup",Dell_Server_LicenseGroup_Obj
'LicenseHealth
Dim Dell_Server_License_Obj
Set Dell_Server_License_Obj = New ProfileInformation
Dell_Server_License_Obj.setProfileName("Dell.Server.License")
Dim Dell_Server_License_InstanceID
Set Dell_Server_License_InstanceID = New AttributeProperty
Dell_Server_License_InstanceID.setProtocol("wsman")
Dell_Server_License_InstanceID.setClassName("cimv2/DCIM_License")
Dell_Server_License_InstanceID.setProtocolAttributeName("InstanceID")
Dell_Server_License_Obj.setAttributePropertyObject(Dell_Server_License_InstanceID)
Dell_Server_License_Obj.setAttributeDictionary("ID")
Dim Dell_Server_License_LicensePrimaryStatus
Set Dell_Server_License_LicensePrimaryStatus = New AttributeProperty
Dell_Server_License_LicensePrimaryStatus.setProtocol("wsman")
Dell_Server_License_LicensePrimaryStatus.setClassName("cimv2/DCIM_License")
Dell_Server_License_Obj.setAttributePropertyObject(Dell_Server_License_LicensePrimaryStatus)
Dell_Server_License_Obj.setAttributeDictionary("LicensePrimaryStatus")
'SDCard Health
Dim Dell_Server_SDCard_Obj
Set Dell_Server_SDCard_Obj = New ProfileInformation
Dell_Server_SDCard_Obj.setProfileName("Dell.Server.SDCard")
Dim Dell_Server_SDCard_FQDD
Set Dell_Server_SDCard_FQDD = New AttributeProperty
Dell_Server_SDCard_FQDD.setProtocol("wsman")
Dell_Server_SDCard_FQDD.setClassName("cimv2/DCIM_VFlashView")
Dell_Server_SDCard_FQDD.setProtocolAttributeName("FQDD")
Dell_Server_SDCard_Obj.setAttributePropertyObject(Dell_Server_SDCard_FQDD)
Dell_Server_SDCard_Obj.setAttributeDictionary("ID")
Dim Dell_Server_SDCard_HealthStatus
Set Dell_Server_SDCard_HealthStatus = New AttributeProperty
Dell_Server_SDCard_HealthStatus.setProtocol("wsman")
Dell_Server_SDCard_HealthStatus.setClassName("cimv2/DCIM_VFlashView")
Dell_Server_SDCard_Obj.setAttributePropertyObject(Dell_Server_SDCard_HealthStatus)
Dell_Server_SDCard_Obj.setAttributeDictionary("HealthStatus")
'T PCIeSSD
public function PopulateExtenderProfileDictionary
Dim Dell_Server_PCIeSSDExtender_Obj
Set Dell_Server_PCIeSSDExtender_Obj = New ProfileInformation
Dell_Server_PCIeSSDExtender_Obj.setProfileName("Dell.Server.Storage.Extender")
Dim Dell_Server_PCIeSSDExtender_Status_ID
Set Dell_Server_PCIeSSDExtender_Status_ID = New AttributeProperty
Dell_Server_PCIeSSDExtender_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Extender",Dell_Server_PCIeSSDExtender_Obj
End Function
public Function PopulateBackPlaneProfileDictionary
Dim Dell_Server_PCIeSSDBackPlane_Obj
Set Dell_Server_PCIeSSDBackPlane_Obj = New ProfileInformation
Dell_Server_PCIeSSDBackPlane_Obj.setProfileName("Dell.Server.Storage.Extender.BackPlane")
Dim Dell_Server_PCIeSSDBackPlane_Status_ID
Set Dell_Server_PCIeSSDBackPlane_Status_ID = New AttributeProperty
Dell_Server_PCIeSSDBackPlane_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Extender.BackPlane",Dell_Server_PCIeSSDBackPlane_Obj
End Function
'T PCIe/SSD physicalDisk ->Disk Instantaneous Health, Disk predictive Failure health and aggreage of both
public Function PopulatePCIePhysicalDiskProfileDictionary
Dim Dell_Server_Storage_Extender_PhysicalDisk_Obj
Set Dell_Server_Storage_Extender_PhysicalDisk_Obj = New ProfileInformation
Dell_Server_Storage_Extender_PhysicalDisk_Obj.setProfileName("Dell.Server.Storage.Extender.PhysicalDisk")
Dim Dell_Server_Storage_Extender_PhysicalDisk_ID
Set Dell_Server_Storage_Extender_PhysicalDisk_ID = New AttributeProperty
'Primary Status
Dim Dell_Server_Storage_Extender_PhysicalDisk_PrimaryStatus
Set Dell_Server_Storage_Extender_PhysicalDisk_PrimaryStatus = New AttributeProperty
'Predictive Failure State
Dim Dell_Server_Storage_Controller_PCIeSSDPhysicalDisk_PredictiveFailureState
Set Dell_Server_Storage_Controller_PCIeSSDPhysicalDisk_PredictiveFailureState = New AttributeProperty
Dell_Server_Storage_Extender_PhysicalDisk_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Extender.PhysicalDisk",Dell_Server_Storage_Extender_PhysicalDisk_Obj
End Function
</ProfileDictionaryScript>
<ComponentInstanceFactoryScript>
Dim creatorFactory: Set creatorFactory = CreateObject("Scripting.Dictionary")
Class DellServerHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server"
Dim NodeID, uniqueID
uniqueID = compObject.getAttributevalue("UID")
NodeID = compObject.getAttributevalue("NodeID")
instIndex = compObject.getAttributevalue("UID")
if (Instr(NodeID, uniqueID)) Then
instIndex = NodeID
End If
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "DellServerHealthInstance" & "Status>> " & status & " state>> " & state & " instance index>> " & instIndex
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server", new DellServerHealthInstance
Class ServerProcessorsHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Processors"
instIndex = "Processor Group"
status = compObject.getAttributevalue("CPURollupStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerProcessorsHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Processors", new ServerProcessorsHealthInstance
Class ProcUnitHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.ProcUnit"
instIndex = compObject.getAttributevalue("DeviceID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ProcUnitHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.ProcUnit", new ProcUnitHealthInstance
Class MemoryHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Memory"
instIndex = "Memory Group"
status = compObject.getAttributevalue("SysMemPrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "MemoryHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Memory", new MemoryHealthInstance
Class MemoryUnitHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.MemoryUnit"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "MemoryUnitHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.MemoryUnit", new MemoryUnitHealthInstance
Class PowerSuppliesHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.PowerSupplies"
instIndex = "Power Supply Group"
status = compObject.getAttributevalue("PSRollupStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "PowerSuppliesHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.PowerSupplies", new PowerSuppliesHealthInstance
Class PSUnitHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.PSUnit"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "PSUnitHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.PSUnit", new PSUnitHealthInstance
Class NetworkInterfaceUnitHealthInstance
Private Sub Class_Initialize
End Sub
Public Function GetInstanceHealth(ByRef compObject)
Dim className, instIndex, status, state
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("LinkStatus")
log.MOMDebugLog 1, "NIC instIndex >> " & instIndex
log.MOMDebugLog 1, "NIC status >> " & status
GetInstanceHealth = status
End Function
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.NetworkInterfaceUnit"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("LinkStatus")
statusMap = Array("Unknown", "Up", "", "Down")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "NetworkInterfaceUnitHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.NetworkInterfaceUnit", new NetworkInterfaceUnitHealthInstance
'T IDRAC NIC Health status
Class IDRACNetworkInterfaceUnitHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
log.MOMDebugLog 1, "IDRACNetworkInterfaceUnitHealthInstance "
If Not compObject is Nothing Then
className = "Dell.Server.iDrac.NetworkInterfaceUnit"
instIndex = compObject.getAttributevalue("ID")
'status = compObject.getAttributevalue("LinkStatus")
state = "OK"
log.MOMDebugLog 1, "IDRACNetworkInterfaceUnitHealthInstance state " & state
log.MOMDebugLog 1, "IDRACNetworkInterfaceUnitHealthInstance instIndex " & instIndex
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.iDrac.NetworkInterfaceUnit", new IDRACNetworkInterfaceUnitHealthInstance
Class NICGroupHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state, NICClassName
Dim statusMap, statusValue, unitList, unitObj, componentHealthInstance
Dim errorFlag, warningFlag, healthyFlag
errorFlag = 0
warningFlag = 0
healthyFlag = 0
If Not compObject is Nothing Then
className = "Dell.Server.NICGroup"
instIndex = "NIC Group"
'call NIC instance health
Dim compObjListFilter
NICClassName = "Dell.Server.NetworkInterfaceUnit"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.NetworkInterfaceUnit")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(NICClassName)
status = componentHealthInstance.GetInstanceHealth(unitObj)
If status = "3" Then
log.MOMDebugLog 1, "NICstatus>> " & status
errorFlag = 1
ElseIf status = "0" Then
log.MOMDebugLog 1, "NICstatus>> " & status
warningFlag = 1
ElseIf status = "1" Then
log.MOMDebugLog 1, "NICstatus>> " & status
healthyFlag = 1
Else
warningFlag = 1
End If
Next
End If
If (errorFlag = 1) Then
status = 3
state = "Error"
ElseIf (warningFlag = 1) then
status = 0
state = "Warning"
Else
status = 1
state = "OK"
End If
log.MOMDebugLog 1, "NICGroupHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.NICGroup", new NICGroupHealthInstance
Class ControllerHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller"
instIndex = compObject.getAttributevalue("DeviceID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ControllerHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller", new ControllerHealthInstance
Class ControllerSensorHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller.Sensor"
instIndex = compObject.getAttributevalue("ID")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Error"
End If
log.MOMDebugLog 1, "ControllerSensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Sensor", new ControllerSensorHealthInstance
Class ControllerBatteryUnitHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller.Battery"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ControllerBatteryUnitHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Battery", new ControllerBatteryUnitHealthInstance
Class VirtualDiskHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue, RaidStatus, LockStatus, ObjectStatus, RaidStatusMap, LockStatusMap, ObjectStatusMap
Dim RaidStatusValue, LockStatusValue, ObjectStatusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller.VirtualDisk"
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "VirtualDiskHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddInstValue ("RAID Status", RaidStatus)
Call omAPIHelper.AddInstValue ("RAID Status Value", RaidStatusValue)
Call omAPIHelper.AddInstValue ("Lock Status", LockStatus)
Call omAPIHelper.AddInstValue ("Lock Status Value", LockStatusValue)
Call omAPIHelper.AddInstValue ("Object Status", ObjectStatus)
Call omAPIHelper.AddInstValue ("Object Status Value", ObjectStatusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.VirtualDisk", new VirtualDiskHealthInstance
Class PhysicalDiskHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue, RaidStatus, RaidStatusMap
Dim RaidStatusValue
If Not compObject is Nothing Then
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
RaidStatus = compObject.getAttributevalue("RaidStatus")
If (Instr(Lcase(instIndex),"direct")) Then
log.MOMDebugLog 1, "instIndex>> " & instIndex
className = "Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk"
ElseIf (Instr(Lcase(instIndex),"internal")) Then
log.MOMDebugLog 1, "instIndex>> " & instIndex
className = "Dell.Server.Storage.Controller.InternalPhysicalDisk"
ElseIf (Instr(Lcase(instIndex),"external")) Then
log.MOMDebugLog 1, "instIndex>> " & instIndex
className = "Dell.Server.Storage.Controller.ExternalPhysicalDisk"
End If
statusMap = Array("Unknown", "OK", "Degraded", "Error")
RaidStatusMap = Array("Unknown", "Ready", "Online", "Foreign", "Offline", "Blocked", "Failed", "Degraded", "Non-RAID", "Missing" )
statusValue = statusMap(status)
RaidStatusValue = RaidStatusMap(RaidStatus)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "PhysicalDiskHealthInstance" & " className>> " & className & " instIndex>> " & instIndex & " Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddInstValue ("RAID Status", RaidStatus)
Call omAPIHelper.AddInstValue ("RAID Status Value", RaidStatusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.PhysicalDisk", new PhysicalDiskHealthInstance
'T PhysicalDiskPredictiveFailure S
Class PhysicalDiskPredictiveFailureHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
If Not compObject is Nothing Then
instIndex = compObject.getAttributevalue("ID")
If (Instr(Lcase(instIndex),"internal")) Then
className = "Dell.Server.Storage.Controller.InternalPhysicalDisk.PredictiveFailure"
ElseIf (Instr(Lcase(instIndex),"external")) Then
className = "Dell.Server.Storage.Controller.ExternalPhysicalDisk.PredictiveFailure"
ElseIf (Instr(Lcase(instIndex),"direct")) Then
className = "Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk.PredictiveFailure"
End If
log.MOMDebugLog 1, "instIndex>> " & instIndex
' Smart Alert Absent means, there is no issue and health staus is OK. If alert is presnt means it will show in warning.
status = compObject.getAttributevalue("PredictiveFailureState")
'statusMap = Array("Smart Alert Absent", "Smart Alert Present")
'statusValue = statusMap(status)
If status = "0" Then
state = "OK"
ElseIf status = "1" Then
state = "Warning"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "PhysicalDisk Predictive Failure HealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.PhysicalDisk.PredictiveFailure", new PhysicalDiskPredictiveFailureHealthInstance
'T Aggregate physicalDiskHealth for primaryStatus and predictive failure state
Class PhysicalDiskAggregateHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, statusPrimaryStatus, state, statusPredictiveFailure
If Not compObject is Nothing Then
instIndex = compObject.getAttributevalue("ID")
statusPrimaryStatus = compObject.getAttributevalue("PrimaryStatus")
statusPredictiveFailure = compObject.getAttributevalue("PredictiveFailureState")
If (Instr(Lcase(instIndex),"direct")) Then
log.MOMDebugLog 1, "instIndex>> " & instIndex
className = "Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk.Aggregate"
ElseIf (Instr(Lcase(instIndex),"internal")) Then
log.MOMDebugLog 1, "instIndex>> " & instIndex
className = "Dell.Server.Storage.Controller.InternalPhysicalDisk.Aggregate"
ElseIf (Instr(Lcase(instIndex),"external")) Then
log.MOMDebugLog 1, "instIndex>> " & instIndex
className = "Dell.Server.Storage.Controller.ExternalPhysicalDisk.Aggregate"
End If
If statusPrimaryStatus = "1" AND statusPredictiveFailure = "0" Then
state = "OK"
ElseIf statusPrimaryStatus = "3" Then
state = "Error"
ElseIf statusPrimaryStatus = "2" OR statusPrimaryStatus = "0" OR statusPredictiveFailure = "1" Then
state = "Warning"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "PhysicalDiskAggregateHealthInstance" & " className>> " & className & " instIndex>> " & instIndex & " statusPrimaryStatus>> " & statusPrimaryStatus & " statusPredictiveFailure>> " & statusPredictiveFailure & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("statusPrimaryStatus", state)
Call omAPIHelper.AddInstValue ("statusPrimaryStatus Code", statusPrimaryStatus)
Call omAPIHelper.AddInstValue ("statusPrimaryStatus Code", statusPredictiveFailure)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.PhysicalDisk.Aggregate", new PhysicalDiskAggregateHealthInstance
'T Aggregate physicalDisk
Class StorageHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("StorageRollupStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "StorageHealthInstance" & "Status>> " & status
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage", new StorageHealthInstance
Class EnclosureHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller.Enclosure"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "EnclosureHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure", new EnclosureHealthInstance
Class EMMHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller.Enclosure.EMM"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "EMMHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.EMM", new EMMHealthInstance
Class EnclosureFanSensorHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller.Enclosure.FanSensor"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "EnclosureFanSensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.FanSensor", new EnclosureFanSensorHealthInstance
Class EnclosurePowerSupplyHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller.Enclosure.PowerSupply"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "EnclosurePowerSupplyHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.PowerSupply", new EnclosurePowerSupplyHealthInstance
Class EnclosureTempSensorHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller.Enclosure.TempSensor"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "EnclosureTempSensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.TempSensor", new EnclosureTempSensorHealthInstance
Class EnclosureSensorHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Controller.Enclosure.Sensor"
instIndex = compObject.getAttributevalue("ID")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Error"
End If
log.MOMDebugLog 1, "EnclosureSensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.Sensor", new EnclosureSensorHealthInstance
Class ServerFanSensorHealthInstance
Private SensorTypeValue
Private Sub Class_Initialize
SensorTypeValue = "5"
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
Dim sensorType
If Not compObject is Nothing Then
className = "Dell.Server.FanSensor"
sensorType = compObject.getAttributevalue("SensorType")
log.MOMDebugLog 1, "ServerFanSensorHealthInstance" & " >> Sensor sensorType>> " & sensorType & " MATCHE WITH>> " & SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerFanSensorHealthInstance" & "MATCHED"
instIndex = compObject.getAttributevalue("DeviceID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerFanSensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End If
End Function
End Class
creatorFactory.Add "Dell.Server.FanSensor", new ServerFanSensorHealthInstance
Class ServerTemperatureSensorHealthInstance
Private SensorTypeValue
Private Sub Class_Initialize
SensorTypeValue = "2"
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
Dim sensorType
If Not compObject is Nothing Then
className = "Dell.Server.TemperatureSensor"
sensorType = compObject.getAttributevalue("SensorType")
log.MOMDebugLog 1, "ServerTemperatureSensorHealthInstance" & " >> Sensor sensorType>> " & sensorType & " MATCHE WITH>> " & SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerTemperatureSensorHealthInstance" & "MATCHED"
instIndex = compObject.getAttributevalue("DeviceID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerTemperatureSensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End If
End Function
End Class
creatorFactory.Add "Dell.Server.TemperatureSensor", new ServerTemperatureSensorHealthInstance
Class ServerVoltageSensorHealthInstance
Private SensorTypeValue
Private Sub Class_Initialize
SensorTypeValue = "3"
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
Dim sensorType
If Not compObject is Nothing Then
className = "Dell.Server.VoltageSensor"
sensorType = compObject.getAttributevalue("SensorType")
log.MOMDebugLog 1, "ServerVoltageSensorHealthInstance" & " >> Sensor sensorType>> " & sensorType & " MATCHE WITH>> " & SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerVoltageSensorHealthInstance" & "MATCHED"
instIndex = compObject.getAttributevalue("DeviceID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerVoltageSensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End If
End Function
End Class
creatorFactory.Add "Dell.Server.VoltageSensor", new ServerVoltageSensorHealthInstance
Class ServerIntrusionSensorHealthInstance
Private SensorTypeValue
Private Sub Class_Initialize
SensorTypeValue = "16"
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
Dim sensorType
If Not compObject is Nothing Then
className = "Dell.Server.IntrusionSensor"
sensorType = compObject.getAttributevalue("SensorType")
log.MOMDebugLog 1, "ServerIntrusionSensorHealthInstance" & " >> Sensor sensorType>> " & sensorType & " MATCHE WITH>> " & SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerIntrusionSensorHealthInstance" & "MATCHED"
instIndex = compObject.getAttributevalue("DeviceID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerIntrusionSensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End If
End Function
End Class
creatorFactory.Add "Dell.Server.IntrusionSensor", new ServerIntrusionSensorHealthInstance
Class ServerBatterySensorHealthInstance
Private SensorTypeValue
Private Sub Class_Initialize
SensorTypeValue = "1"
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
Dim sensorType
If Not compObject is Nothing Then
className = "Dell.Server.BatterySensor"
sensorType = compObject.getAttributevalue("SensorType")
log.MOMDebugLog 1, "ServerBatterySensorHealthInstance" & " >> Sensor sensorType>> " & sensorType & " MATCHE WITH>> " & SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerBatterySensorHealthInstance" & "MATCHED"
instIndex = compObject.getAttributevalue("DeviceID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerBatterySensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End If
End Function
End Class
creatorFactory.Add "Dell.Server.BatterySensor", new ServerBatterySensorHealthInstance
Class ServerCurrentSensorHealthInstance
Private SensorTypeValue
Private Sub Class_Initialize
SensorTypeValue = "4"
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
Dim sensorType
If Not compObject is Nothing Then
className = "Dell.Server.CurrentSensor"
sensorType = compObject.getAttributevalue("SensorType")
log.MOMDebugLog 1, "ServerCurrentSensorHealthInstance" & " >> Sensor sensorType>> " & sensorType & " MATCHE WITH>> " & SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerCurrentSensorHealthInstance" & "MATCHED"
instIndex = compObject.getAttributevalue("DeviceID")
status = compObject.getAttributevalue("PrimaryStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerCurrentSensorHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End If
End Function
End Class
creatorFactory.Add "Dell.Server.CurrentSensor", new ServerCurrentSensorHealthInstance
Class ServerBatterySensorGroupHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.BatterySensorGroup"
instIndex = "Battery Sensor Group"
status = compObject.getAttributevalue("BatteryRollupStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerBatterySensorGroupHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.BatterySensorGroup", new ServerBatterySensorGroupHealthInstance
Class ServerVoltageSensorGroupHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.VoltageSensorGroup"
instIndex = "Voltage Sensor Group"
status = compObject.getAttributevalue("VoltRollupStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerVoltageSensorGroupHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.VoltageSensorGroup", new ServerVoltageSensorGroupHealthInstance
Class ServerFanSensorGroupHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.FanSensorGroup"
instIndex = "Fan Sensor Group"
status = compObject.getAttributevalue("FanRollupStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerFanSensorGroupHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.FanSensorGroup", new ServerFanSensorGroupHealthInstance
Class ServerTemperatureSensorGroupHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.TemperatureSensorGroup"
instIndex = "Temperature Sensor Group"
status = compObject.getAttributevalue("TempRollupStatus")
statusMap = Array("Unknown", "OK", "Degraded", "Error")
statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "ServerTemperatureSensorGroupHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.TemperatureSensorGroup", new ServerTemperatureSensorGroupHealthInstance
'T HostNIC Health
Class HostNICStatusUnitHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.HostNIC"
instIndex = compObject.getAttributevalue("InstanceID")
status = compObject.getAttributevalue("Status")
If status = "0" Then
state = "OK"
ElseIf status = "1" OR status = "6" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "HostNICStatusUnitHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.HostNIC", new HostNICStatusUnitHealthInstance
'LicenseGroup HealthInstance
Class LicenseGroupHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
'Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.LicenseGroup"
instIndex = "License Group"
status = compObject.getAttributevalue("LicensingRollupStatus")
'statusMap = Array("Unknown", "OK", "Degraded", "Error")
'statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "LicenseGroupHealth" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
'Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.LicenseGroup", new LicenseGroupHealthInstance
Class LicenseHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
'Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.License"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("LicensePrimaryStatus")
'statusMap = Array("Unknown", "OK", "Degraded", "Error")
'statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "LicenseHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
'Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.License", new LicenseHealthInstance
'SDCard HealthInstance
class SDCardHealthInstance
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.SDCard"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("HealthStatus")
'statusMap = Array("Unknown", "OK", "Degraded", "Error")
'statusValue = statusMap(status)
If status = "OK" Then
state = "OK"
ElseIf status = "Error" Then
state = "Error"
ElseIf status = "Critical" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "SDCardHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
'Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.SDCard", new SDCardHealthInstance
'T PCIESSD ExtenderHealth
Class PCIeSSDExtenderStatusUnitHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Extender"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("RollupStatus")
'statusMap = Array("Unknown", "OK", "Degraded", "Error")
'statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "PCIeSSDExtenderStatusUnitHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Extender", new PCIeSSDExtenderStatusUnitHealthInstance
Class PCIeSSDBackPlaneStatusUnitHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Extender.BackPlane"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("RollupStatus")
'statusMap = Array("Unknown", "OK", "Degraded", "Error")
'statusValue = statusMap(status)
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "PCIeSSDBackPlaneStatusUnitHealthInstance" & "Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Extender.BackPlane", new PCIeSSDBackPlaneStatusUnitHealthInstance
Class PCIeSSDPhysicalDiskHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
If Not compObject is Nothing Then
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
If status = "1" Then
state = "OK"
ElseIf status = "2" OR status = "0" Then
state = "Warning"
ElseIf status = "3" Then
state = "Error"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "PCieSSDPhysicalDiskHealthInstance" & " className>> " & className & " instIndex>> " & instIndex & " Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Extender.PhysicalDisk.primaryStatus", new PCIeSSDPhysicalDiskHealthInstance
'T PhysicalDiskPredictiveFailure Health
Class PCIeSSDPredictiveFailureHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, status, state
Dim statusMap, statusValue
If Not compObject is Nothing Then
className = "Dell.Server.Storage.Extender.PhysicalDisk.PredictiveFailure"
instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("FailurePredicted")
status = LCase(status)
If status = "yes" Then
statusValue = "0"
state = "Warning"
ElseIf status = "no" Then
statusValue = "1"
state = "OK"
Else
state = "Warning"
statusValue = "0"
End If
log.MOMDebugLog 1, "PCieSSDPhysicalDiskHealthInstance" & " className>> " & className & " instIndex>> " & instIndex & " Status>> " & status & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("Status", state)
Call omAPIHelper.AddInstValue ("Status Code", status)
Call omAPIHelper.AddInstValue ("Status Code Value", statusValue)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Extender.PhysicalDisk.PredictiveFailure", new PCIeSSDPredictiveFailureHealthInstance
Class PCIeSSDPhysicalDiskAggregateHealthInstance
Private Sub Class_Initialize
End Sub
Public Function CreateAndPopulateHealthInstance(ByRef omAPIHelper, ByRef compObject)
Dim className, instIndex, statusPrimaryStatus, state, statusPredictiveFailure
Dim statusMap, statusValue, statusValue1
If Not compObject is Nothing Then
instIndex = compObject.getAttributevalue("ID")
statusPrimaryStatus = compObject.getAttributevalue("PrimaryStatus")
statusPredictiveFailure = compObject.getAttributevalue("FailurePredicted")
className = "Dell.Server.Storage.Extender.PhysicalDisk.Aggregate"
If statusPrimaryStatus = "1" AND statusPredictiveFailure = "0" Then
state = "OK"
ElseIf statusPrimaryStatus = "3" Then
state = "Error"
ElseIf statusPrimaryStatus = "2" OR statusPrimaryStatus = "0" OR statusPredictiveFailure = "0" Then
state = "Warning"
Else
state = "Warning"
End If
log.MOMDebugLog 1, "PCIeSSDPhysicalDiskAggregateHealthInstance" & " className>> " & className & " instIndex>> " & instIndex & " statusPrimaryStatus>> " & statusPrimaryStatus & " statusPredictiveFailure>> " & statusPredictiveFailure & " state>> " & state
Call omAPIHelper.CreatePropertyBag()
Call omAPIHelper.AddInstValue ("ComponentType", className)
Call omAPIHelper.AddInstValue ("InstanceIndex", instIndex)
Call omAPIHelper.AddInstValue ("statusPrimaryStatus", state)
Call omAPIHelper.AddInstValue ("statusPrimaryStatus Code", statusPrimaryStatus)
Call omAPIHelper.AddInstValue ("statusPrimaryStatus Code", statusPredictiveFailure)
Call omAPIHelper.AddDataItem()
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Extender.PhysicalDisk.Aggregate", new PhysicalDiskAggregateHealthInstance
</ComponentInstanceFactoryScript>
<ServerHealthScript>
Dim profDictReader
Set profDictReader = New ProfileDictionaryReader
Dim profilesPresenceDict,compDict,compDictKeys, Key, profilePresence, p_MOMApiHelper
Dim iDRACstatus
'Following components will check for wsman profile presence
set profilesPresenceDict = CheckProfilesPresenceFromDevice(compDict)
compDictKeys = profilesPresenceDict.Keys
For Each Key in compDictKeys
profilePresence = profilesPresenceDict.Item(Key)
log.MOMDebugLog 1, "The component" & Key & " has profile presence as---" & profilePresence
If (StrComp(profilePresence,"Yes") = 0 ) Then
If (StrComp(Key,"Extender") = 0) Then
log.MOMDebugLog 1, "Populating Extender profile dictionary"
PopulateExtenderProfileDictionary
End If
If (StrComp(Key,"BackPlane") = 0) Then
log.MOMDebugLog 1, "Populating BackPlane dictionary"
PopulateBackPlaneProfileDictionary
End If
If (StrComp(Key,"PCIePhysicalDisk") = 0) Then
log.MOMDebugLog 1, "Populating PCIeSSD physicalDisk Device profile dictionary"
PopulatePCIePhysicalDiskProfileDictionary
End If
If (StrComp(Key,"HostNIC") = 0) Then
log.MOMDebugLog 1, "Populating Power Supply profile dictionary"
PopulateHostNICProfileDictionary
End If
If (StrComp(Key,"SystemView") = 0) Then
log.MOMDebugLog 1, "Populating System Viewprofile dictionary"
'Update the iDRAC NIC status
iDRACstatus = "True"
Else
iDRACstatus = "False"
End If
End If
Next
Public Function CheckProfilesPresenceFromDevice(ByRef profilesDictionary)
dim protocol, protocolHelperObject1, protFactoryObj, presenceDictionary
protocol = "wsman"
Set protFactoryObj = New ProtocolFactory
Set protocolHelperObject1 = protFactoryObj.getProtocolHelperObject(protocol, protParameterObj)
protocolHelperObject1.InputProfilesDictionary = profilesDictionary
Set presenceDictionary = protocolHelperObject1.CheckProfilesPresence()
log.MOMDebugLog 1, "Received the Profile Dictionary from DellDeviceHelper."
Set CheckProfilesPresenceFromDevice = presenceDictionary
End Function
Dim className,state
If iDRACstatus = "False" Then
'Update the iDRAC NIC health and exit
className = "Dell.Server.iDrac.NetworkInterfaceUnit"
state = "iDRACNOTResponding"
log.MOMDebugLog 1, "IDRACNetworkInterfaceUnitHealthInstance " & state
Set p_MOMApiHelper = New MOMAPIHelper
Call p_MOMApiHelper.CreateMOMScriptAPI()
Call p_MOMApiHelper.CreatePropertyBag()
Call p_MOMApiHelper.AddInstValue ("ComponentType", className)
Call p_MOMApiHelper.AddInstValue ("Status", state)
Call p_MOMApiHelper.AddDataItem()
Call p_MOMApiHelper.ReturnDataItems()
Call p_MOMApiHelper.destroyCOMObjects()
Set p_MOMApiHelper = Nothing
log.MOMDebugLog 1, "IDRAC Not responding "
Wscript.Quit
End If
Dim protoList
protoList = profDictReader.getProtocolList()
Dim protFactoryObj
Set protFactoryObj = New ProtocolFactory
Dim classList
classList = profDictReader.getClassNameList()
Dim protocolHelperOject
Dim i, componentInventoryProfileHandle
set componentInventoryProfileHandle=CreateObject("Scripting.Dictionary")
componentInventoryProfileHandle.CompareMode = vbTextCompare
For i=0 to profDictReader.getProtocolListCount() -1
Set protocolHelperOject = protFactoryObj.getProtocolHelperObject(protoList(i), protParameterObj)
protocolHelperOject.ProfileNameArrayObj=classList
Set componentInventoryProfileHandle = protocolHelperOject.GetProfileDictionary()
Next
If componentInventoryProfileHandle Is Nothing Then
log.MOMDebugLog 1, "Got componentInventoryProfileHandle as NULL in Health Script"
Set p_MOMApiHelper = New MOMAPIHelper
Call p_MOMApiHelper.CreateMOMScriptAPI()
Call p_MOMApiHelper.LogSCOMEvent("WS Man Query to Dell Server did not respond within the timeout interval. The Dell Server has the iDrac ip address : " & remoteIp , 497, 2)
Call p_MOMApiHelper.CreatePropertyBag()
Call p_MOMApiHelper.AddInstValue ("ComponentType", "Dummy")
Call p_MOMApiHelper.AddInstValue ("InstanceIndex", "Dummy")
Call p_MOMApiHelper.AddInstValue ("Status", "Dummy")
Call p_MOMApiHelper.AddInstValue ("Status Code", "Dummy")
Call p_MOMApiHelper.AddInstValue ("Status Code Value", "Dummy")
Call p_MOMApiHelper.AddDataItem()
Call p_MOMApiHelper.ReturnDataItems()
Call p_MOMApiHelper.destroyCOMObjects()
Set p_MOMApiHelper = Nothing
Wscript.Quit
End If
'Now use the Protocol Helper object to pass the list of DCIM classes
Dim invDataParser, compObjectList
Set invDataParser = New InventoryDataParser
invDataParser.setComponentInventoryProfileHandle(componentInventoryProfileHandle)
invDataParser.populateComponentObjects(profileInfoDict)
compObjectList = invDataParser.getComponentObjects()
'**************************************************************************************************
'UnitMonitor invocation for Managed Server
'**************************************************************************************************
Dim unitMonitorHelperObject
Set unitMonitorHelperObject = New UnitMonitorHelper
'Create class instance and properties and submit the scom discovery data
Call unitMonitorHelperObject.CreateObjectAndSubmitPropertyBag()
profDictReader.destroyCOMObjects()
Set profDictReader = Nothing
componentInventoryProfileHandle.RemoveAll
Set componentInventoryProfileHandle = Nothing
protocolHelperOject.ClearProfileDictionary()
Set protocolHelperOject = Nothing
profileInfoDict.RemoveAll
set profileInfoDict = Nothing
invDataParser.destroyCOMObjects()
Set invDataParser = Nothing
unitMonitorHelperObject.destroyCOMObjects()
Set unitMonitorHelperObject = Nothing
Dim compObj
For Each compObj In compObjectList
compObj.destroyCOMObjects()
set compObj = Nothing
Next
Function ArrayCount(ByRef array)
Dim index, count
count = 0
For index = 0 To UBound(array)
count = count + 1
Next
ArrayCount = count
End Function
Class UnitMonitorHelper
Private m_momApiHelper
Private Sub Class_Initialize
Set m_momApiHelper = New MOMAPIHelper
End Sub
Public Function destroyCOMObjects()
m_momApiHelper.destroyCOMObjects()
set m_momApiHelper = Nothing
End Function
Function CreatePropertyBagInstanceAndProperties(compObjectList)
Call m_momApiHelper.CreateMOMScriptAPI()
Dim className, componentHealthInstance, compObjListFilter
Dim serverList, unitList, unitObj
'DellServerHealthInstance
className = "Dell.Server"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'DellProcessorsHealthInstance
className = "Dell.Server.Processors"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Processors")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'ProcUnitHealthInstance
className = "Dell.Server.ProcUnit"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.ProcUnit")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'DellMemoryHealthInstance
className = "Dell.Server.Memory"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Memory")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'DellStorageHealthInstance
className = "Dell.Server.Storage"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'MemoryUnitHealthInstance
className = "Dell.Server.MemoryUnit"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.MemoryUnit")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'DellPowerSuppliesHealthInstance
className = "Dell.Server.PowerSupplies"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.PowerSupplies")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'PSUnitHealthInstance
className = "Dell.Server.PSUnit"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.PSUnit")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'NetworkInterfaceUnitHealthInstance
className = "Dell.Server.NetworkInterfaceUnit"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.NetworkInterfaceUnit")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.ControllerHealthInstance
className = "Dell.Server.Storage.Controller"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.Controller.BatteryHealthInstance
className = "Dell.Server.Storage.Controller.Battery"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Battery")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.Controller.VirtualDiskHealthInstance
className = "Dell.Server.Storage.Controller.VirtualDisk"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.VirtualDisk")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.Controller.PhysicalDiskDiskHealthInstance
className = "Dell.Server.Storage.Controller.PhysicalDisk"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.PhysicalDisk")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.Controller.PhysicalDiskDisk predictiveFailureHealthInstance
className = "Dell.Server.Storage.Controller.PhysicalDisk.PredictiveFailure"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.PhysicalDisk")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.Controller.EnclosureHealthInstance
className = "Dell.Server.Storage.Controller.Enclosure"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.Controller.Enclosure.EMMHealthInstance
className = "Dell.Server.Storage.Controller.Enclosure.EMM"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure.EMM")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.Controller.Enclosure.FanSensorHealthInstance
className = "Dell.Server.Storage.Controller.Enclosure.FanSensor"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure.FanSensor")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.Controller.Enclosure.PowerSupply HealthInstance
className = "Dell.Server.Storage.Controller.Enclosure.PowerSupply"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure.PowerSupply")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'Storage.Controller.Enclosure.TempSensorHealthInstance
className = "Dell.Server.Storage.Controller.Enclosure.TempSensor"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure.TempSensor")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'---------------Sensors--------------------
'FanUnitHealthInstance
className = "Dell.Server.FanSensor"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.FanSensor")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'TemperatureSensorUnitHealthInstance
className = "Dell.Server.TemperatureSensor"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.TemperatureSensor")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'VoltageSensorUnitHealthInstance
className = "Dell.Server.VoltageSensor"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.VoltageSensor")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'IntrusionSensorUnitHealthInstance
className = "Dell.Server.IntrusionSensor"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.IntrusionSensor")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'BatterySensorUnitHealthInstance
className = "Dell.Server.BatterySensor"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.BatterySensor")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'CurrentSensorUnitHealthInstance
className = "Dell.Server.CurrentSensor"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.CurrentSensor")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'VoltageSensorGroupProcessorsHealthInstance
className = "Dell.Server.VoltageSensorGroup"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.VoltageSensorGroup")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'FanSensorGroupProcessorsHealthInstance
className = "Dell.Server.FanSensorGroup"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.FanSensorGroup")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'TemperatureSensorGroupProcessorsHealthInstance
className = "Dell.Server.TemperatureSensorGroup"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.TemperatureSensorGroup")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'---------------Sensors--------------------
'DellLicenseGroupHealthInstance
className = "Dell.Server.LicenseGroup"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.LicenseGroup")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'LicenseGroupHealthInstance
className = "Dell.Server.License"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.License")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'T IDRAC NIC health
'IDRACNetworkInterfaceUnitHealthInstance
className = "Dell.Server.iDrac.NetworkInterfaceUnit"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.iDrac.NetworkInterfaceUnit")
log.MOMDebugLog 1, "IDRACNetworkInterfaceUnitHealthInstance state 2"
If ArrayCount(unitList) > 0 Then
log.MOMDebugLog 1, "IDRACNetworkInterfaceUnitHealthInstance state 3"
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'T Host NIC health
'HostNICUnitHealthInstance
className = "Dell.Server.HostNIC"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.HostNIC")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'T PCIeSSD Extender
className = "Dell.Server.Storage.Extender"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Extender")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
className = "Dell.Server.Storage.Extender.BackPlane"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Extender.BackPlane")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
className = "Dell.Server.Storage.Extender.PhysicalDisk.primaryStatus"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Extender.PhysicalDisk")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
className = "Dell.Server.Storage.Extender.PhysicalDisk.PredictiveFailure"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Extender.PhysicalDisk")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
'SDCardHealthInstance
className = "Dell.Server.SDCard"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.SDCard")
If ArrayCount(unitList) > 0 Then
For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitObj)
Next
End If
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing
End Function
Function CreateObjectAndSubmitPropertyBag()
Call CreatePropertyBagInstanceAndProperties(compObjectList)
Call m_momApiHelper.ReturnDataItems()
End Function
End Class