Huawei.ISM.Management.Pack.huawei.DataSource.Discovery.Controller.Properties (DataSourceModuleType)

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
OutputTypeSystem.Discovery.Data

Member Modules:

ID Module Type TypeId RunAs 
snmpProbe DataSource System.NetworkManagement.SnmpDataSource Default
ScriptDiscovery ProbeAction Microsoft.Windows.ScriptDiscoveryProbe Default

Overrideable Parameters:

IDParameterTypeSelector
Intervalint$Config/Interval$
LogLevelint$Config/LogLevel$

Source Code:

<DataSourceModuleType ID="Huawei.ISM.Management.Pack.huawei.DataSource.Discovery.Controller.Properties" Accessibility="Internal" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.Discovery.MapperSchema</SchemaType>
<SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
<SchemaType>System!System.ParamListSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="Interval" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="IPAddress" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="CommStr" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="Index" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="Version" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="LogLevel" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int"/>
<OverrideableParameter ID="LogLevel" Selector="$Config/LogLevel$" ParameterType="int"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="snmpProbe" TypeID="SNL!System.NetworkManagement.SnmpDataSource">
<Scheduler>
<SimpleReccuringSchedule>
<Interval>$Config/Interval$</Interval>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
<SNMPv3UserName>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/UserName$</SNMPv3UserName>
<SNMPv3AuthProtocol>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/AuthenticationProtocol$</SNMPv3AuthProtocol>
<SNMPv3AuthPassword>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/AuthenticationKey$</SNMPv3AuthPassword>
<SNMPv3PrivProtocol>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/PrivacyProtocol$</SNMPv3PrivProtocol>
<SNMPv3PrivPassword>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/PrivacyKey$</SNMPv3PrivPassword>
<SNMPv3ContextName>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/ContextName$</SNMPv3ContextName>
<IP>$Config/IPAddress$</IP>
<CommunityString>$Config/CommStr$</CommunityString>
<Version>$Config/Version$</Version>
<SnmpVarBinds>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.34774.4.1.19.8.12.1.1.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.34774.4.1.19.8.12.1.2.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.34774.4.1.19.8.12.1.3.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.34774.4.1.19.8.12.1.4.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.34774.4.1.19.8.12.1.5.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.34774.4.1.19.8.12.1.6.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.34774.4.1.19.8.12.1.7.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.34774.4.1.19.8.12.1.8.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.34774.4.1.19.8.12.1.9.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
</SnmpVarBinds>
</DataSource>
<ProbeAction ID="ScriptDiscovery" TypeID="Windows!Microsoft.Windows.ScriptDiscoveryProbe">
<ScriptName>DiscoverControllerProperites.vbs</ScriptName>
<Arguments>$MPElement$ $Target/Id$ $Target/Host/Property[Type="SNL!System.NetworkManagement.Node"]/DeviceKey$ "$Target/Host/Property[Type="SNL!System.NetworkManagement.Node"]/SNMPAddress$" "$Data/SnmpVarBinds/SnmpVarBind[1]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[2]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[3]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[4]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[5]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[6]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[7]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[8]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[9]/Value$"</Arguments>
<ScriptBody><Script>

'**********************************************************************************
' Script Name - Huawei Controller Properites Discovery
' Author: Muralidhar L, Vignesh Pandian
'
' Description:
' Discovery of Huawei Controller and all it's attributes.
'
' (c) Copyright Huawei Inc. 2013-2015. All rights reserved
'**********************************************************************************
Option Explicit
SetLocale("en-us")

Dim oAPI, oDiscoveryData, oInst
Set oAPI = CreateObject("MOM.ScriptAPI")

Dim oArgs

set oArgs = wscript.arguments

If oArgs.Count &gt; 13 Then

Call oAPI.LogScriptEvent("DiscoverControllerProperites.vbs",101,0, _
"script was called with fewer than three arguments and was not executed.")
Wscript.Quit -1

End If

Dim SourceID, ManagedEntityID, deviceKey, ip
Dim controllerId, controllerName, controllerLocation, controllerHealthStatus, controllerRunningStatus, controllerTemperature, controllerIsMaster, controllerSoftVersion, controllerDescription

SourceID = oArgs(0)
ManagedEntityID = oArgs(1)
deviceKey = oArgs(2)
ip = oArgs(3)

controllerId = oArgs(4)
controllerName = oArgs(5)
controllerLocation = oArgs(6)
controllerHealthStatus = oArgs(7)
controllerRunningStatus = oArgs(8)
controllerSoftVersion = oArgs(9)
controllerTemperature = oArgs(10)
controllerIsMaster = oArgs(11)
controllerDescription = oArgs(12)

controllerId = TRIM(controllerId)
controllerName = TRIM(controllerName)
controllerLocation = TRIM(controllerLocation)
controllerHealthStatus = TRIM(controllerHealthStatus)
controllerRunningStatus = TRIM(controllerRunningStatus)
controllerTemperature = TRIM(controllerTemperature)
controllerIsMaster = TRIM(controllerIsMaster)
controllerSoftVersion = TRIM(controllerSoftVersion)
controllerDescription = TRIM(controllerDescription)

Set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceID, ManagedEntityID)

Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']$")
Call oInst.AddProperty ("$MPElement[Name='SNL!System.NetworkManagement.Node']/DeviceKey$", deviceKey)
Call oInst.AddProperty ("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/id$", controllerId)
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/name$", controllerName)
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/location$", controllerLocation)
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/healthStatus$", ConversionHealthStatus(controllerHealthStatus))
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/runningStatus$", ConversionRunningStatus(controllerRunningStatus))
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/temperature$", ConversionTemperature(controllerTemperature))
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/isMaster$", ConversionIsMaster(controllerIsMaster))
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/softVersion$", controllerSoftVersion)
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/description$", controllerDescription)
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Controller']/ip$", ip)

Call oDiscoveryData.AddInstance(oInst)

Function ConversionHealthStatus(healthStatus)
select case healthStatus
case 0
ConversionHealthStatus = "--"
case 1
ConversionHealthStatus = "Normal"
case 2
ConversionHealthStatus = "Fault"
case 3
ConversionHealthStatus = "Pre-Fail"
case 4
ConversionHealthStatus = "Partially broken"
case 5
ConversionHealthStatus = "Degraded"
case 6
ConversionHealthStatus = "Bad-Sectors-Found"
case 7
ConversionHealthStatus = "Bit-Errors-Found"
case 8
ConversionHealthStatus = "Consistent"
case 9
ConversionHealthStatus = "Inconsistent"
case 10
ConversionHealthStatus = "Busy"
case Else
ConversionHealthStatus = healthStatus
end select
End Function

Function ConversionTemperature(temperature)
select case temperature
case "-1"
ConversionTemperature = "--"
case Else
ConversionTemperature = temperature
end select
End Function

Function ConversionRunningStatus(runningStatus)
select case runningStatus
case 0
ConversionRunningStatus = "--"
case 1
ConversionRunningStatus = "Normal"
case 2
ConversionRunningStatus = "Running"
case 3
ConversionRunningStatus = "Not-Running"
case 4
ConversionRunningStatus = "Not-Existed"
case 5
ConversionRunningStatus = "Sleep-In-High-Temperature"
case 6
ConversionRunningStatus = "Starting"
case 7
ConversionRunningStatus = "Power-Failure-Protecting"
case 8
ConversionRunningStatus = "Spin-Down"
case 9
ConversionRunningStatus = "Started"
case 10
ConversionRunningStatus = "Link-Up"
case 11
ConversionRunningStatus = "Link-Down"
case 12
ConversionRunningStatus = "Powering-On"
case 13
ConversionRunningStatus = "Powered-Off"
case 14
ConversionRunningStatus = "Precopy"
case 15
ConversionRunningStatus = "Copyback"
case 16
ConversionRunningStatus = "Reconstruction"
case 17
ConversionRunningStatus = "Expansion"
case 18
ConversionRunningStatus = "Unformatted"
case 19
ConversionRunningStatus = "Formatting"
case 20
ConversionRunningStatus = "Unmapped"
case 21
ConversionRunningStatus = "Initial-Synchronizing"
case 22
ConversionRunningStatus = "Consistent"
case 23
ConversionRunningStatus = "Synchronizing"
case 24
ConversionRunningStatus = "Synchronized"
case 25
ConversionRunningStatus = "Unsynchronized"
case 26
ConversionRunningStatus = "Splited"
case 27
ConversionRunningStatus = "Online"
case 28
ConversionRunningStatus = "Offline"
case 29
ConversionRunningStatus = "Locked"
case 30
ConversionRunningStatus = "Enabled"
case 31
ConversionRunningStatus = "Disabled"
case 32
ConversionRunningStatus = "Balancing"
case 33
ConversionRunningStatus = "To-Be-Recoverd"
case 34
ConversionRunningStatus = "Interrupted"
case 35
ConversionRunningStatus = "Invalid"
case 36
ConversionRunningStatus = "Not-Start"
case 37
ConversionRunningStatus = "Queuing"
case 38
ConversionRunningStatus = "Stopped"
case 39
ConversionRunningStatus = "Copying"
case 40
ConversionRunningStatus = "Completed"
case 41
ConversionRunningStatus = "Paused"
case 42
ConversionRunningStatus = "Reverse-Synchronizing"
case 43
ConversionRunningStatus = "Activated"
case 44
ConversionRunningStatus = "Restore"
case 45
ConversionRunningStatus = "Inactive"
case 46
ConversionRunningStatus = "Idle"
case 47
ConversionRunningStatus = "Powering-Off"
case 48
ConversionRunningStatus = "Charging"
case 49
ConversionRunningStatus = "Charging-Completed"
case 50
ConversionRunningStatus = "Discharging"
case 51
ConversionRunningStatus = "Upgrading"
case 63
ConversionRunningStatus = "Running-Normal"
case Else
ConversionRunningStatus = runningStatus
end select
End Function

Function ConversionIsMaster(isMaster)
select case isMaster
case 0
ConversionIsMaster = "False"
case 1
ConversionIsMaster = "True"
case Else
ConversionIsMaster = isMaster
end select
End Function
Call oAPI.Return(oDiscoveryData)


</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="ScriptDiscovery">
<Node ID="snmpProbe"/>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>