Dell Server Health CookDown UMT

Dell.Operations.Server.TemplateMethod.ServerHealthCookDownUMT (UnitMonitorType)

Common CookDown UMT used by the ServerHealth UnitMonitor

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
PBP DataSource Dell.Operations.Server.TemplateMethod.ServerHealthCookDownDSMT Default
OperationStatusError ConditionDetection System.ExpressionFilter Default
OperationStatusSuccess ConditionDetection System.ExpressionFilter Default
OperationStatusWarning ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
IntervalSecondsint$Config/IntervalSeconds$Interval SecondsDell Server Agent-free unit monitor interval seconds
LogLevelint$Config/LogLevel$Log LevelDell Server Agent-free unit monitor logging level

Source Code:

<UnitMonitorType ID="Dell.Operations.Server.TemplateMethod.ServerHealthCookDownUMT" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="Success" NoDetection="false"/>
<MonitorTypeState ID="Warning" NoDetection="false"/>
<MonitorTypeState ID="Error" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer"/>
<xsd:element minOccurs="1" name="LogLevel" type="xsd:integer"/>
<xsd:element name="InstanceIndex" type="xsd:string"/>
<xsd:element name="RemoteAccessIP" type="xsd:string"/>
<xsd:element name="RemoteConfig" type="xsd:string"/>
<xsd:element name="ComponentType" type="xsd:string"/>
<xsd:element name="Username" type="xsd:string"/>
<xsd:element name="Password" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="LogLevel" Selector="$Config/LogLevel$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="PBP" TypeID="DellOperationsServer!Dell.Operations.Server.TemplateMethod.ServerHealthCookDownDSMT">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<LogLevel>$Config/LogLevel$</LogLevel>
<RemoteAccessIP>$Config/RemoteAccessIP$</RemoteAccessIP>
<RemoteConfig>$Config/RemoteConfig$</RemoteConfig>
<Username>$Config/Username$</Username>
<Password>$Config/Password$</Password>
<TemplateScriptConfiguration>
'Creating the argument dictionary that will be included in the DSMT script
Dim protParameterObj
Set protParameterObj = New ProtocolInfo
Call protParameterObj.setProtocolName("wsman")
If DebugScript = False Then

Call protParameterObj.setProtocolParameterDictionary("IPAddress", remoteIp)
Call protParameterObj.setProtocolParameterDictionary("Port", Trim(remoteConfigArray(0)))
Call protParameterObj.setProtocolParameterDictionary("Encoding", Trim(remoteConfigArray(1)))
Call protParameterObj.setProtocolParameterDictionary("SkipCACheck", Trim(remoteConfigArray(2)) )
Call protParameterObj.setProtocolParameterDictionary("SkipCNCheck", Trim(remoteConfigArray(3)) )
Call protParameterObj.setProtocolParameterDictionary("Timeout", Trim(remoteConfigArray (4)))
Call protParameterObj.setProtocolParameterDictionary("UserName", RunAsAccount_Username)
Call protParameterObj.setProtocolParameterDictionary("Password", RunAsAccount_Password)
Else
Call protParameterObj.setProtocolParameterDictionary("IPAddress", "10.94.172.166")
Call protParameterObj.setProtocolParameterDictionary("Port", "443")
Call protParameterObj.setProtocolParameterDictionary("Encoding", "UTF-8")
Call protParameterObj.setProtocolParameterDictionary("SkipCACheck", "True")
Call protParameterObj.setProtocolParameterDictionary("SkipCNCheck", "True")
Call protParameterObj.setProtocolParameterDictionary("Timeout", "0")
Call protParameterObj.setProtocolParameterDictionary("UserName", "")
Call protParameterObj.setProtocolParameterDictionary("Password", "")
End If
</TemplateScriptConfiguration>
<ProfileDictionaryScript>
Dim profileInfoDict
Set profileInfoDict = CreateObject("Scripting.Dictionary")
Dim Dell_Server_Obj
Set Dell_Server_Obj = New ProfileInformation
Dell_Server_Obj.setProfileName("Dell.Server")
Dim Dell_Server_UID
Set Dell_Server_UID = New AttributeProperty

Dell_Server_UID.setProtocol("wsman")
Dell_Server_UID.setClassName("cimv2/DCIM_SystemView")
Dell_Server_UID.setProtocolAttributeName("ServiceTag")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_UID)
Dell_Server_Obj.setAttributeDictionary("UID")

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

Dell_Server_PrimaryStatus.setProtocol("wsman")
Dell_Server_PrimaryStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_PrimaryStatus)
Dell_Server_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server",Dell_Server_Obj

'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

Dell_Server_FanGrp_FanRollupStatus.setProtocol("wsman")
Dell_Server_FanGrp_FanRollupStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_FanGrp_Obj.setAttributePropertyObject(Dell_Server_FanGrp_FanRollupStatus)
Dell_Server_FanGrp_Obj.setAttributeDictionary("FanRollupStatus")

Dell_Server_FanGrp_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.FanSensorGroup",Dell_Server_FanGrp_Obj

'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

Dell_Server_FanUnit_DeviceID.setProtocol("wsman")
Dell_Server_FanUnit_DeviceID.setClassName("cimv2/DCIM_NumericSensor")
Dell_Server_FanUnit_DeviceID.setProtocolAttributeName("DeviceID")
Dell_Server_FanUnit_Obj.setAttributePropertyObject(Dell_Server_FanUnit_DeviceID)
Dell_Server_FanUnit_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_FanUnit_SensorType
Set Dell_Server_FanUnit_SensorType = New AttributeProperty

Dell_Server_FanUnit_SensorType.setProtocol("wsman")
Dell_Server_FanUnit_SensorType.setClassName("cimv2/DCIM_NumericSensor")
Dell_Server_FanUnit_Obj.setAttributePropertyObject(Dell_Server_FanUnit_SensorType)
Dell_Server_FanUnit_Obj.setAttributeDictionary("SensorType")

Dim Dell_Server_FanUnit_PrimaryStatus
Set Dell_Server_FanUnit_PrimaryStatus = New AttributeProperty

Dell_Server_FanUnit_PrimaryStatus.setProtocol("wsman")
Dell_Server_FanUnit_PrimaryStatus.setClassName("cimv2/DCIM_NumericSensor")
Dell_Server_FanUnit_Obj.setAttributePropertyObject(Dell_Server_FanUnit_PrimaryStatus)
Dell_Server_FanUnit_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_FanUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.FanSensor",Dell_Server_FanUnit_Obj

'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

Dell_Server_BatteryGrp_BatteryRollupStatus.setProtocol("wsman")
Dell_Server_BatteryGrp_BatteryRollupStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BatteryGrp_Obj.setAttributePropertyObject(Dell_Server_BatteryGrp_BatteryRollupStatus)
Dell_Server_BatteryGrp_Obj.setAttributeDictionary("BatteryRollupStatus")

Dell_Server_BatteryGrp_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.BatterySensorGroup",Dell_Server_BatteryGrp_Obj

'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

Dell_Server_BatteryUnit_DeviceID.setProtocol("wsman")
Dell_Server_BatteryUnit_DeviceID.setClassName("cimv2/DCIM_Sensor")
Dell_Server_BatteryUnit_DeviceID.setProtocolAttributeName("DeviceID")
Dell_Server_BatteryUnit_Obj.setAttributePropertyObject(Dell_Server_BatteryUnit_DeviceID)
Dell_Server_BatteryUnit_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_BatteryUnit_SensorType
Set Dell_Server_BatteryUnit_SensorType = New AttributeProperty

Dell_Server_BatteryUnit_SensorType.setProtocol("wsman")
Dell_Server_BatteryUnit_SensorType.setClassName("cimv2/DCIM_Sensor")
Dell_Server_BatteryUnit_Obj.setAttributePropertyObject(Dell_Server_BatteryUnit_SensorType)
Dell_Server_BatteryUnit_Obj.setAttributeDictionary("SensorType")

Dim Dell_Server_BatteryUnit_PrimaryStatus
Set Dell_Server_BatteryUnit_PrimaryStatus = New AttributeProperty

Dell_Server_BatteryUnit_PrimaryStatus.setProtocol("wsman")
Dell_Server_BatteryUnit_PrimaryStatus.setClassName("cimv2/DCIM_Sensor")
Dell_Server_BatteryUnit_Obj.setAttributePropertyObject(Dell_Server_BatteryUnit_PrimaryStatus)
Dell_Server_BatteryUnit_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_BatteryUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.BatterySensor",Dell_Server_BatteryUnit_Obj

'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

Dell_Server_TemperatureGrp_TemperatureRollupStatus.setProtocol("wsman")
Dell_Server_TemperatureGrp_TemperatureRollupStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_TemperatureGrp_Obj.setAttributePropertyObject(Dell_Server_TemperatureGrp_TemperatureRollupStatus)
Dell_Server_TemperatureGrp_Obj.setAttributeDictionary("TempRollupStatus")

Dell_Server_TemperatureGrp_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.TemperatureSensorGroup",Dell_Server_TemperatureGrp_Obj

'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

Dell_Server_TemperatureUnit_DeviceID.setProtocol("wsman")
Dell_Server_TemperatureUnit_DeviceID.setClassName("cimv2/DCIM_NumericSensor")
Dell_Server_TemperatureUnit_DeviceID.setProtocolAttributeName("DeviceID")
Dell_Server_TemperatureUnit_Obj.setAttributePropertyObject(Dell_Server_TemperatureUnit_DeviceID)
Dell_Server_TemperatureUnit_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_TemperatureUnit_SensorType
Set Dell_Server_TemperatureUnit_SensorType = New AttributeProperty

Dell_Server_TemperatureUnit_SensorType.setProtocol("wsman")
Dell_Server_TemperatureUnit_SensorType.setClassName("cimv2/DCIM_NumericSensor")
Dell_Server_TemperatureUnit_Obj.setAttributePropertyObject(Dell_Server_TemperatureUnit_SensorType)
Dell_Server_TemperatureUnit_Obj.setAttributeDictionary("SensorType")

Dim Dell_Server_TemperatureUnit_PrimaryStatus
Set Dell_Server_TemperatureUnit_PrimaryStatus = New AttributeProperty

Dell_Server_TemperatureUnit_PrimaryStatus.setProtocol("wsman")
Dell_Server_TemperatureUnit_PrimaryStatus.setClassName("cimv2/DCIM_NumericSensor")
Dell_Server_TemperatureUnit_Obj.setAttributePropertyObject(Dell_Server_TemperatureUnit_PrimaryStatus)
Dell_Server_TemperatureUnit_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_TemperatureUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.TemperatureSensor",Dell_Server_TemperatureUnit_Obj

'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

Dell_Server_VoltageGrp_VoltageRollupStatus.setProtocol("wsman")
Dell_Server_VoltageGrp_VoltageRollupStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_VoltageGrp_Obj.setAttributePropertyObject(Dell_Server_VoltageGrp_VoltageRollupStatus)
Dell_Server_VoltageGrp_Obj.setAttributeDictionary("VoltRollupStatus")

Dell_Server_VoltageGrp_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.VoltageSensorGroup",Dell_Server_VoltageGrp_Obj

'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

Dell_Server_VoltageUnit_DeviceID.setProtocol("wsman")
Dell_Server_VoltageUnit_DeviceID.setClassName("cimv2/DCIM_Sensor")
Dell_Server_VoltageUnit_DeviceID.setProtocolAttributeName("DeviceID")
Dell_Server_VoltageUnit_Obj.setAttributePropertyObject(Dell_Server_VoltageUnit_DeviceID)
Dell_Server_VoltageUnit_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_VoltageUnit_SensorType
Set Dell_Server_VoltageUnit_SensorType = New AttributeProperty

Dell_Server_VoltageUnit_SensorType.setProtocol("wsman")
Dell_Server_VoltageUnit_SensorType.setClassName("cimv2/DCIM_Sensor")
Dell_Server_VoltageUnit_Obj.setAttributePropertyObject(Dell_Server_VoltageUnit_SensorType)
Dell_Server_VoltageUnit_Obj.setAttributeDictionary("SensorType")

Dim Dell_Server_VoltageUnit_PrimaryStatus
Set Dell_Server_VoltageUnit_PrimaryStatus = New AttributeProperty

Dell_Server_VoltageUnit_PrimaryStatus.setProtocol("wsman")
Dell_Server_VoltageUnit_PrimaryStatus.setClassName("cimv2/DCIM_Sensor")
Dell_Server_VoltageUnit_Obj.setAttributePropertyObject(Dell_Server_VoltageUnit_PrimaryStatus)
Dell_Server_VoltageUnit_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_VoltageUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.VoltageSensor",Dell_Server_VoltageUnit_Obj

'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

Dell_Server_IntrusionUnit_DeviceID.setProtocol("wsman")
Dell_Server_IntrusionUnit_DeviceID.setClassName("cimv2/DCIM_Sensor")
Dell_Server_IntrusionUnit_DeviceID.setProtocolAttributeName("DeviceID")
Dell_Server_IntrusionUnit_Obj.setAttributePropertyObject(Dell_Server_IntrusionUnit_DeviceID)
Dell_Server_IntrusionUnit_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_IntrusionUnit_SensorType
Set Dell_Server_IntrusionUnit_SensorType = New AttributeProperty

Dell_Server_IntrusionUnit_SensorType.setProtocol("wsman")
Dell_Server_IntrusionUnit_SensorType.setClassName("cimv2/DCIM_Sensor")
Dell_Server_IntrusionUnit_Obj.setAttributePropertyObject(Dell_Server_IntrusionUnit_SensorType)
Dell_Server_IntrusionUnit_Obj.setAttributeDictionary("SensorType")

Dim Dell_Server_IntrusionUnit_PrimaryStatus
Set Dell_Server_IntrusionUnit_PrimaryStatus = New AttributeProperty

Dell_Server_IntrusionUnit_PrimaryStatus.setProtocol("wsman")
Dell_Server_IntrusionUnit_PrimaryStatus.setClassName("cimv2/DCIM_Sensor")
Dell_Server_IntrusionUnit_Obj.setAttributePropertyObject(Dell_Server_IntrusionUnit_PrimaryStatus)
Dell_Server_IntrusionUnit_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_IntrusionUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.IntrusionSensor",Dell_Server_IntrusionUnit_Obj

'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

Dell_Server_CurrentUnit_DeviceID.setProtocol("wsman")
Dell_Server_CurrentUnit_DeviceID.setClassName("cimv2/DCIM_NumericSensor")
Dell_Server_CurrentUnit_DeviceID.setProtocolAttributeName("DeviceID")
Dell_Server_CurrentUnit_Obj.setAttributePropertyObject(Dell_Server_CurrentUnit_DeviceID)
Dell_Server_CurrentUnit_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_CurrentUnit_SensorType
Set Dell_Server_CurrentUnit_SensorType = New AttributeProperty

Dell_Server_CurrentUnit_SensorType.setProtocol("wsman")
Dell_Server_CurrentUnit_SensorType.setClassName("cimv2/DCIM_NumericSensor")
Dell_Server_CurrentUnit_Obj.setAttributePropertyObject(Dell_Server_CurrentUnit_SensorType)
Dell_Server_CurrentUnit_Obj.setAttributeDictionary("SensorType")

Dim Dell_Server_CurrentUnit_PrimaryStatus
Set Dell_Server_CurrentUnit_PrimaryStatus = New AttributeProperty

Dell_Server_CurrentUnit_PrimaryStatus.setProtocol("wsman")
Dell_Server_CurrentUnit_PrimaryStatus.setClassName("cimv2/DCIM_NumericSensor")
Dell_Server_CurrentUnit_Obj.setAttributePropertyObject(Dell_Server_CurrentUnit_PrimaryStatus)
Dell_Server_CurrentUnit_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_CurrentUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.CurrentSensor",Dell_Server_CurrentUnit_Obj

'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_CPURollupStatus.setProtocol("wsman")
Dell_Server_Processors_CPURollupStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Processors_Obj.setAttributePropertyObject(Dell_Server_Processors_CPURollupStatus)
Dell_Server_Processors_Obj.setAttributeDictionary("CPURollupStatus")

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_ProcUnit_DeviceID.setProtocol("wsman")
Dell_Server_ProcUnit_DeviceID.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_DeviceID.setProtocolAttributeName("FQDD")
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_DeviceID)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_ProcUnit_PrimaryStatus
Set Dell_Server_ProcUnit_PrimaryStatus = New AttributeProperty

Dell_Server_ProcUnit_PrimaryStatus.setProtocol("wsman")
Dell_Server_ProcUnit_PrimaryStatus.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_PrimaryStatus)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_ProcUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.ProcUnit",Dell_Server_ProcUnit_Obj

'Memory
Dim Dell_Server_Memory_Obj
Set Dell_Server_Memory_Obj = New ProfileInformation
Dell_Server_Memory_Obj.setProfileName("Dell.Server.Memory")

Dim Dell_Server_Memory_SysMemPrimaryStatus
Set Dell_Server_Memory_SysMemPrimaryStatus = New AttributeProperty

Dell_Server_Memory_SysMemPrimaryStatus.setProtocol("wsman")
Dell_Server_Memory_SysMemPrimaryStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Memory_Obj.setAttributePropertyObject(Dell_Server_Memory_SysMemPrimaryStatus)
Dell_Server_Memory_Obj.setAttributeDictionary("SysMemPrimaryStatus")

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_ID.setProtocol("wsman")
Dell_Server_MemoryUnit_ID.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_ID.setProtocolAttributeName("FQDD")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_ID)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("ID")

Dim Dell_Server_MemoryUnit_PrimaryStatus
Set Dell_Server_MemoryUnit_PrimaryStatus = New AttributeProperty

Dell_Server_MemoryUnit_PrimaryStatus.setProtocol("wsman")
Dell_Server_MemoryUnit_PrimaryStatus.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_PrimaryStatus)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("PrimaryStatus")

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

Dell_Server_PowerSupplies_PSRollupStatus.setProtocol("wsman")
Dell_Server_PowerSupplies_PSRollupStatus.setClassName("cimv2/DCIM_SystemView")
Dell_Server_PowerSupplies_Obj.setAttributePropertyObject(Dell_Server_PowerSupplies_PSRollupStatus)
Dell_Server_PowerSupplies_Obj.setAttributeDictionary("PSRollupStatus")

Dell_Server_PowerSupplies_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.PowerSupplies",Dell_Server_PowerSupplies_Obj

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

Dell_Server_PSUnit_ID.setProtocol("wsman")
Dell_Server_PSUnit_ID.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_ID.setProtocolAttributeName("FQDD")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_ID)
Dell_Server_PSUnit_Obj.setAttributeDictionary("ID")

Dim Dell_Server_PSUnit_PrimaryStatus
Set Dell_Server_PSUnit_PrimaryStatus = New AttributeProperty

Dell_Server_PSUnit_PrimaryStatus.setProtocol("wsman")
Dell_Server_PSUnit_PrimaryStatus.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_PrimaryStatus)
Dell_Server_PSUnit_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_PSUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.PSUnit",Dell_Server_PSUnit_Obj

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

Dell_Server_NetworkInterfaceUnit_ID.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_ID.setClassName("cimv2/DCIM_NICStatistics")
Dell_Server_NetworkInterfaceUnit_ID.setProtocolAttributeName("FQDD")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_ID)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("ID")

Dim Dell_Server_NetworkInterfaceUnit_LinkStatus
Set Dell_Server_NetworkInterfaceUnit_LinkStatus = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_LinkStatus.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_LinkStatus.setClassName("cimv2/DCIM_NICStatistics")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_LinkStatus)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("LinkStatus")

Dell_Server_NetworkInterfaceUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.NetworkInterfaceUnit",Dell_Server_NetworkInterfaceUnit_Obj


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

Dell_Server_IDRAC_NetworkInterfaceUnit_ID.setProtocol("wsman")
Dell_Server_IDRAC_NetworkInterfaceUnit_ID.setClassName("cimv2/DCIM_IDRACCardString")
Dell_Server_IDRAC_NetworkInterfaceUnit_ID.setProtocolAttributeName("FQDD")
Dell_Server_IDRACNetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_IDRAC_NetworkInterfaceUnit_ID)
Dell_Server_IDRACNetworkInterfaceUnit_Obj.setAttributeDictionary("ID")

Dell_Server_IDRACNetworkInterfaceUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.iDrac.NetworkInterfaceUnit",Dell_Server_IDRACNetworkInterfaceUnit_Obj


Dim Dell_Server_Storage_Obj
Set Dell_Server_Storage_Obj = New ProfileInformation
Dell_Server_Storage_Obj.setProfileName("Dell.Server.Storage")

Dim Dell_Server_Storage_ID
Set Dell_Server_Storage_ID = New AttributeProperty

Dell_Server_Storage_ID.setProtocol("wsman")
Dell_Server_Storage_ID.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Storage_ID.setProtocolAttributeName("ServiceTag")
Dell_Server_Storage_Obj.setAttributePropertyObject(Dell_Server_Storage_ID)
Dell_Server_Storage_Obj.setAttributeDictionary("ID")

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")

Dell_Server_Storage_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage",Dell_Server_Storage_Obj

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

Dell_Server_Storage_Controller_DeviceID.setProtocol("wsman")
Dell_Server_Storage_Controller_DeviceID.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_DeviceID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_DeviceID)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_Storage_Controller_PrimaryStatus
Set Dell_Server_Storage_Controller_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Controller_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_PrimaryStatus.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PrimaryStatus)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_Storage_Controller_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller",Dell_Server_Storage_Controller_Obj

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

Dell_Server_Storage_Controller_Battery_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Battery_ID.setClassName("cimv2/DCIM_ControllerBatteryView")
Dell_Server_Storage_Controller_Battery_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Battery_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Battery_ID)
Dell_Server_Storage_Controller_Battery_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_Battery_PrimaryStatus
Set Dell_Server_Storage_Controller_Battery_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Controller_Battery_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_Battery_PrimaryStatus.setClassName("cimv2/DCIM_ControllerBatteryView")
Dell_Server_Storage_Controller_Battery_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Battery_PrimaryStatus)
Dell_Server_Storage_Controller_Battery_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_Storage_Controller_Battery_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Battery",Dell_Server_Storage_Controller_Battery_Obj

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

Dell_Server_Storage_Controller_VirtualDisk_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_ID.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_ID.setProtocolAttributeName("InstanceID")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_ID)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_VirtualDisk_PrimaryStatus
Set Dell_Server_Storage_Controller_VirtualDisk_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_PrimaryStatus.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_PrimaryStatus)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("PrimaryStatus")

'Raid status
Dim Dell_Server_Storage_Controller_VirtualDisk_RaidStatus
Set Dell_Server_Storage_Controller_VirtualDisk_RaidStatus = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_RaidStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_RaidStatus.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_RaidStatus)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("RAIDStatus")

'Lock status
Dim Dell_Server_Storage_Controller_VirtualDisk_LockStatus
Set Dell_Server_Storage_Controller_VirtualDisk_LockStatus = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_LockStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_LockStatus.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_LockStatus)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("LockStatus")

'Object status
Dim Dell_Server_Storage_Controller_VirtualDisk_ObjectStatus
Set Dell_Server_Storage_Controller_VirtualDisk_ObjectStatus = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_ObjectStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_ObjectStatus.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_ObjectStatus)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("ObjectStatus")


Dell_Server_Storage_Controller_VirtualDisk_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.VirtualDisk",Dell_Server_Storage_Controller_VirtualDisk_Obj

'PhysicalDisk

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

Dell_Server_Storage_Controller_PhysicalDisk_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_ID.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_PhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_ID)
Dell_Server_Storage_Controller_PhysicalDisk_Obj.setAttributeDictionary("ID")

'Raid status
Dim Dell_Server_Storage_Controller_PhysicalDisk_RaidStatus
Set Dell_Server_Storage_Controller_PhysicalDisk_RaidStatus = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_RaidStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_RaidStatus.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_RaidStatus)
Dell_Server_Storage_Controller_PhysicalDisk_Obj.setAttributeDictionary("RaidStatus")

'Primary Status
Dim Dell_Server_Storage_Controller_PhysicalDisk_PrimaryStatus
Set Dell_Server_Storage_Controller_PhysicalDisk_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_PrimaryStatus.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_PrimaryStatus)
Dell_Server_Storage_Controller_PhysicalDisk_Obj.setAttributeDictionary("PrimaryStatus")

'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")

Dell_Server_Storage_Controller_PhysicalDisk_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.PhysicalDisk",Dell_Server_Storage_Controller_PhysicalDisk_Obj

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

Dell_Server_Storage_Controller_Enclosure_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_ID.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_ID.setProtocolAttributeName("InstanceID")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_ID)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_Enclosure_PrimaryStatus
Set Dell_Server_Storage_Controller_Enclosure_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_PrimaryStatus.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_PrimaryStatus)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_Storage_Controller_Enclosure_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure",Dell_Server_Storage_Controller_Enclosure_Obj


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

Dell_Server_Storage_Controller_Enclosure_EMM_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_EMM_ID.setClassName("cimv2/DCIM_EnclosureEMMView")
Dell_Server_Storage_Controller_Enclosure_EMM_ID.setProtocolAttributeName("InstanceID")
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_EMM_ID)
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_Enclosure_EMM_PrimaryStatus
Set Dell_Server_Storage_Controller_Enclosure_EMM_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_EMM_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_EMM_PrimaryStatus.setClassName("cimv2/DCIM_EnclosureEMMView")
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_EMM_PrimaryStatus)
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_Storage_Controller_Enclosure_EMM_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure.EMM",Dell_Server_Storage_Controller_Enclosure_EMM_Obj

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

Dell_Server_Storage_Controller_Enclosure_FanSensor_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_FanSensor_ID.setClassName("cimv2/DCIM_EnclosureFanSensor")
Dell_Server_Storage_Controller_Enclosure_FanSensor_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_FanSensor_ID)
Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_Enclosure_FanSensor_PrimaryStatus
Set Dell_Server_Storage_Controller_Enclosure_FanSensor_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_FanSensor_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_FanSensor_PrimaryStatus.setClassName("cimv2/DCIM_EnclosureFanSensor")
Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_FanSensor_PrimaryStatus)
Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure.FanSensor",Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj

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

Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID.setClassName("cimv2/DCIM_EnclosurePSUView")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID)
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_Enclosure_PowerSupply_PrimaryStatus
Set Dell_Server_Storage_Controller_Enclosure_PowerSupply_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_PowerSupply_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_PrimaryStatus.setClassName("cimv2/DCIM_EnclosurePSUView")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_PowerSupply_PrimaryStatus)
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure.PowerSupply",Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj

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

Dell_Server_Storage_Controller_Enclosure_TempSensor_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_TempSensor_ID.setClassName("cimv2/DCIM_EnclosureTemperatureSensor")
Dell_Server_Storage_Controller_Enclosure_TempSensor_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_TempSensor_ID)
Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_Enclosure_TempSensor_PrimaryStatus
Set Dell_Server_Storage_Controller_Enclosure_TempSensor_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_TempSensor_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_TempSensor_PrimaryStatus.setClassName("cimv2/DCIM_EnclosureTemperatureSensor")
Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_TempSensor_PrimaryStatus)
Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.setAttributeDictionary("PrimaryStatus")

Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure.TempSensor",Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj

'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_Status_ID.setProtocol("wsman")
Dell_Server_HostNIC_Status_ID.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_Status_ID.setProtocolAttributeName("InstanceID")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_Status_ID)
Dell_Server_HostNIC_Obj.setAttributeDictionary("InstanceID")

Dim Dell_Server_HostNIC_Status
Set Dell_Server_HostNIC_Status = New AttributeProperty

Dell_Server_HostNIC_Status.setProtocol("wsman")
Dell_Server_HostNIC_Status.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_Status.setProtocolAttributeName("Status")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_Status)
Dell_Server_HostNIC_Obj.setAttributeDictionary("Status")

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")

Dell_Server_License_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.License",Dell_Server_License_Obj

'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")

Dell_Server_SDCard_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.SDCard",Dell_Server_SDCard_Obj

'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_Status_ID.setProtocol("wsman")
Dell_Server_PCIeSSDExtender_Status_ID.setClassName("cimv2/DCIM_PCIeSSDExtenderView")
Dell_Server_PCIeSSDExtender_Status_ID.setProtocolAttributeName("InstanceID")
Dell_Server_PCIeSSDExtender_Obj.setAttributePropertyObject(Dell_Server_PCIeSSDExtender_Status_ID)
Dell_Server_PCIeSSDExtender_Obj.setAttributeDictionary("ID")

Dim Dell_Server_PCIeSSDExtender_Status_RollUpStatus
Set Dell_Server_PCIeSSDExtender_Status_RollUpStatus = New AttributeProperty

Dell_Server_PCIeSSDExtender_Status_RollUpStatus.setProtocol("wsman")
Dell_Server_PCIeSSDExtender_Status_RollUpStatus.setClassName("cimv2/DCIM_PCIeSSDExtenderView")
Dell_Server_PCIeSSDExtender_Status_RollUpStatus.setProtocolAttributeName("RollupStatus")
Dell_Server_PCIeSSDExtender_Obj.setAttributePropertyObject(Dell_Server_PCIeSSDExtender_Status_RollUpStatus)
Dell_Server_PCIeSSDExtender_Obj.setAttributeDictionary("RollupStatus")

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_Status_ID.setProtocol("wsman")
Dell_Server_PCIeSSDBackPlane_Status_ID.setClassName("cimv2/DCIM_PCIeSSDBackPlaneView")
Dell_Server_PCIeSSDBackPlane_Status_ID.setProtocolAttributeName("InstanceID")
Dell_Server_PCIeSSDBackPlane_Obj.setAttributePropertyObject(Dell_Server_PCIeSSDBackPlane_Status_ID)
Dell_Server_PCIeSSDBackPlane_Obj.setAttributeDictionary("ID")

Dim Dell_Server_PCIeSSDBackPlane_Status_RollUpStatus
Set Dell_Server_PCIeSSDBackPlane_Status_RollUpStatus = New AttributeProperty

Dell_Server_PCIeSSDBackPlane_Status_RollUpStatus.setProtocol("wsman")
Dell_Server_PCIeSSDBackPlane_Status_RollUpStatus.setClassName("cimv2/DCIM_PCIeSSDBackPlaneView")
Dell_Server_PCIeSSDBackPlane_Status_RollUpStatus.setProtocolAttributeName("RollupStatus")
Dell_Server_PCIeSSDBackPlane_Obj.setAttributePropertyObject(Dell_Server_PCIeSSDBackPlane_Status_RollUpStatus)
Dell_Server_PCIeSSDBackPlane_Obj.setAttributeDictionary("RollupStatus")

Dell_Server_PCIeSSDBackPlane_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Extender.BackPlane",Dell_Server_PCIeSSDBackPlane_Obj
End Function
'T PCIe/SSD physicalDisk -&gt;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

Dell_Server_Storage_Extender_PhysicalDisk_ID.setProtocol("wsman")
Dell_Server_Storage_Extender_PhysicalDisk_ID.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_Extender_PhysicalDisk_ID.setProtocolAttributeName("InstanceID")
Dell_Server_Storage_Extender_PhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Extender_PhysicalDisk_ID)
Dell_Server_Storage_Extender_PhysicalDisk_Obj.setAttributeDictionary("ID")

'Primary Status
Dim Dell_Server_Storage_Extender_PhysicalDisk_PrimaryStatus
Set Dell_Server_Storage_Extender_PhysicalDisk_PrimaryStatus = New AttributeProperty

Dell_Server_Storage_Extender_PhysicalDisk_PrimaryStatus.setProtocol("wsman")
Dell_Server_Storage_Extender_PhysicalDisk_PrimaryStatus.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_Extender_PhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Extender_PhysicalDisk_PrimaryStatus)
Dell_Server_Storage_Extender_PhysicalDisk_Obj.setAttributeDictionary("PrimaryStatus")

'Predictive Failure State
Dim Dell_Server_Storage_Controller_PCIeSSDPhysicalDisk_PredictiveFailureState
Set Dell_Server_Storage_Controller_PCIeSSDPhysicalDisk_PredictiveFailureState = New AttributeProperty

Dell_Server_Storage_Controller_PCIeSSDPhysicalDisk_PredictiveFailureState.setProtocol("wsman")
Dell_Server_Storage_Controller_PCIeSSDPhysicalDisk_PredictiveFailureState.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_Extender_PhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PCIeSSDPhysicalDisk_PredictiveFailureState)
Dell_Server_Storage_Extender_PhysicalDisk_Obj.setAttributeDictionary("FailurePredicted")

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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; state &amp; " instance index&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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 &gt;&gt; " &amp; instIndex
log.MOMDebugLog 1, "NIC status &gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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 " &amp; state
log.MOMDebugLog 1, "IDRACNetworkInterfaceUnitHealthInstance instIndex " &amp; 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) &gt; 0 Then

For Each unitObj In unitList
Set componentHealthInstance = creatorFactory.Item(NICClassName)
status = componentHealthInstance.GetInstanceHealth(unitObj)
If status = "3" Then
log.MOMDebugLog 1, "NICstatus&gt;&gt; " &amp; status
errorFlag = 1
ElseIf status = "0" Then
log.MOMDebugLog 1, "NICstatus&gt;&gt; " &amp; status
warningFlag = 1
ElseIf status = "1" Then
log.MOMDebugLog 1, "NICstatus&gt;&gt; " &amp; 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

statusMap = Array("Unknown", "Up", "", "Down")
statusValue = statusMap(status)

log.MOMDebugLog 1, "NICGroupHealthInstance" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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"

instIndex = compObject.getAttributevalue("ID")
status = compObject.getAttributevalue("PrimaryStatus")
RaidStatus = compObject.getAttributevalue("RAIDStatus")
LockStatus = compObject.getAttributevalue("LockStatus")
ObjectStatus = compObject.getAttributevalue("ObjectStatus")

RaidStatusMap = Array("Unknown", "Ready", "Online", "Foreign", "Offline", "Blocked", "Failed", "Degraded" )
LockStatusMap = Array("Unlocked", "Locked")
ObjectStatusMap = Array("Current", "Pending", "Current Virtual Disk Pending Delete", "Pending Create")
statusMap = Array("Unknown", "OK", "Degraded", "Error")

RaidStatusValue = RaidStatusMap(RaidStatus)
LockStatusValue = LockStatusMap(LockStatus)
ObjectStatusValue = ObjectStatusMap(ObjectStatus)
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, "VirtualDiskHealthInstance" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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&gt;&gt; " &amp; instIndex
className = "Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk"
ElseIf (Instr(Lcase(instIndex),"internal")) Then
log.MOMDebugLog 1, "instIndex&gt;&gt; " &amp; instIndex
className = "Dell.Server.Storage.Controller.InternalPhysicalDisk"
ElseIf (Instr(Lcase(instIndex),"external")) Then
log.MOMDebugLog 1, "instIndex&gt;&gt; " &amp; 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" &amp; " className&gt;&gt; " &amp; className &amp; " instIndex&gt;&gt; " &amp; instIndex &amp; " Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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&gt;&gt; " &amp; instIndex
className = "Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk.Aggregate"
ElseIf (Instr(Lcase(instIndex),"internal")) Then
log.MOMDebugLog 1, "instIndex&gt;&gt; " &amp; instIndex
className = "Dell.Server.Storage.Controller.InternalPhysicalDisk.Aggregate"
ElseIf (Instr(Lcase(instIndex),"external")) Then
log.MOMDebugLog 1, "instIndex&gt;&gt; " &amp; 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" &amp; " className&gt;&gt; " &amp; className &amp; " instIndex&gt;&gt; " &amp; instIndex &amp; " statusPrimaryStatus&gt;&gt; " &amp; statusPrimaryStatus &amp; " statusPredictiveFailure&gt;&gt; " &amp; statusPredictiveFailure &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; " &gt;&gt; Sensor sensorType&gt;&gt; " &amp; sensorType &amp; " MATCHE WITH&gt;&gt; " &amp; SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerFanSensorHealthInstance" &amp; "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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; " &gt;&gt; Sensor sensorType&gt;&gt; " &amp; sensorType &amp; " MATCHE WITH&gt;&gt; " &amp; SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerTemperatureSensorHealthInstance" &amp; "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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; " &gt;&gt; Sensor sensorType&gt;&gt; " &amp; sensorType &amp; " MATCHE WITH&gt;&gt; " &amp; SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerVoltageSensorHealthInstance" &amp; "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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; " &gt;&gt; Sensor sensorType&gt;&gt; " &amp; sensorType &amp; " MATCHE WITH&gt;&gt; " &amp; SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerIntrusionSensorHealthInstance" &amp; "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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; " &gt;&gt; Sensor sensorType&gt;&gt; " &amp; sensorType &amp; " MATCHE WITH&gt;&gt; " &amp; SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerBatterySensorHealthInstance" &amp; "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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; " &gt;&gt; Sensor sensorType&gt;&gt; " &amp; sensorType &amp; " MATCHE WITH&gt;&gt; " &amp; SensorTypeValue
if(SensorTypeValue = sensorType) then
log.MOMDebugLog 1, "ServerCurrentSensorHealthInstance" &amp; "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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; "Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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")

className = "Dell.Server.Storage.Extender.PhysicalDisk.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, "PCieSSDPhysicalDiskHealthInstance" &amp; " className&gt;&gt; " &amp; className &amp; " instIndex&gt;&gt; " &amp; instIndex &amp; " Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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" &amp; " className&gt;&gt; " &amp; className &amp; " instIndex&gt;&gt; " &amp; instIndex &amp; " Status&gt;&gt; " &amp; status &amp; " state&gt;&gt; " &amp; 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"

'statusMap = Array("Unknown", "OK", "Degraded", "Error")
'statusMap1 = Array("Predictive Alert Absent", "Predictive Alert Present")
'statusValue = statusMap(statusPrimaryStatus)
'statusValue1 = statusMap1(statusPredictiveFailure)

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" &amp; " className&gt;&gt; " &amp; className &amp; " instIndex&gt;&gt; " &amp; instIndex &amp; " statusPrimaryStatus&gt;&gt; " &amp; statusPrimaryStatus &amp; " statusPredictiveFailure&gt;&gt; " &amp; statusPredictiveFailure &amp; " state&gt;&gt; " &amp; 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

Set compDict = CreateObject("Scripting.Dictionary")
compDict.Add "Extender", "cimv2/DCIM_PCIeSSDExtenderView"
compDict.Add "BackPlane", "cimv2/DCIM_PCIeSSDBackPlaneView"
compDict.Add "PCIePhysicalDisk", "cimv2/DCIM_PCIeSSDView"
compDict.Add "HostNIC", "cimv2/DCIM_HostNetworkInterfaceView"
compDict.Add "SystemView", "cimv2/DCIM_SystemView"

'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" &amp; Key &amp; " has profile presence as---" &amp; 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 " &amp; 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

profDictReader.setListofProtocolAndClassNames(profileInfoDict)

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 : " &amp; 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) &gt; 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) &gt; 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) &gt; 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

'DellNICGroupHealthInstance
className = "Dell.Server.NICGroup"
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, componentHealthInstance)


'NetworkInterfaceUnitHealthInstance
className = "Dell.Server.NetworkInterfaceUnit"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.NetworkInterfaceUnit")
If ArrayCount(unitList) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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

'CurrentSensorGroupProcessorsHealthInstance
'className = "Dell.Server.CurrentSensorGroup"
'Set compObjListFilter = New ComponentObjectListFilter
'unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.CurrentSensorGroup")
'Set componentHealthInstance = creatorFactory.Item(className)
'Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))

'BatterySensorGroupProcessorsHealthInstance
className = "Dell.Server.BatterySensorGroup"
Set compObjListFilter = New ComponentObjectListFilter
unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.BatterySensorGroup")
Set componentHealthInstance = creatorFactory.Item(className)
Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))
compObjListFilter.destroyCOMObjects()
Set compObjListFilter = Nothing

'IntrusionSensorGroupProcessorsHealthInstance
'className = "Dell.Server.IntrusionSensorGroup"
'Set compObjListFilter = New ComponentObjectListFilter
'unitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.IntrusionSensorGroup")
'Set componentHealthInstance = creatorFactory.Item(className)
'Call componentHealthInstance.CreateAndPopulateHealthInstance(m_momApiHelper, unitList(0))

'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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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) &gt; 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

</ServerHealthScript>
</DataSource>
<ConditionDetection ID="OperationStatusSuccess" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='ComponentType']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ComponentType$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='InstanceIndex']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/InstanceIndex$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">OK</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection ID="OperationStatusWarning" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='ComponentType']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ComponentType$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='InstanceIndex']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/InstanceIndex$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Warning</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection ID="OperationStatusError" TypeID="System!System.ExpressionFilter">
<Expression>
<Or>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='ComponentType']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ComponentType$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">iDRACNOTResponding</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='ComponentType']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ComponentType$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='InstanceIndex']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/InstanceIndex$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Error</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Success">
<Node ID="OperationStatusSuccess">
<Node ID="PBP"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Warning">
<Node ID="OperationStatusWarning">
<Node ID="PBP"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Error">
<Node ID="OperationStatusError">
<Node ID="PBP"/>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>