Fujitsu ETERNUS RAID Group LUN Discovery

Fujitsu.Storage.ETERNUS.RGLUNDiscovery (Discovery)

Element properties:

TargetFujitsu.Storage.ETERNUS.RGLUNs
EnabledTrue
Frequency21600
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedPowerShell.DiscoveryProvider Default

Source Code:

<Discovery ID="Fujitsu.Storage.ETERNUS.RGLUNDiscovery" Enabled="true" Target="Fujitsu.Storage.ETERNUS.RGLUNs" ConfirmDelivery="true" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Fujitsu.Storage.ETERNUS.RGLUN">
<Property TypeID="Fujitsu.Storage.ETERNUS.RGLUN" PropertyID="ObjectName"/>
<Property TypeID="Fujitsu.Storage.ETERNUS.RGLUN" PropertyID="Number"/>
<Property TypeID="Fujitsu.Storage.ETERNUS.RGLUN" PropertyID="Type"/>
<Property TypeID="Fujitsu.Storage.ETERNUS.RGLUN" PropertyID="TotalCap"/>
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="Fujitsu.Storage.ETERNUS.RGLUN" PropertyID="UID"/>
<Property TypeID="Fujitsu.Storage.ETERNUS.RGLUN" PropertyID="UsedCap"/>
<Property TypeID="Fujitsu.Storage.ETERNUS.RGLUN" PropertyID="UsedRate"/>
<Property TypeID="Fujitsu.Storage.ETERNUS.RGLUN" PropertyID="ExtremeCache"/>
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedPowerShell.DiscoveryProvider">
<IntervalSeconds>21600</IntervalSeconds>
<SyncTime/>
<ScriptName>DiscoveryOfRGLUN.ps1</ScriptName>
<ScriptBody><Script>
param($sourceId,$managedEntityId,$computerName,$StorageName,$RGName,$RGLUNsName)

$api = new-object -comObject 'MOM.ScriptAPI'
$discoveryData = $api.CreateDiscoveryData(0, $SourceId, $ManagedEntityId)

write-eventLog -LogName ETERNUS -Message "Discovery RAIDGroup LUN" -Source Cs -id 108

Add-PSSnapin Get-RGLUNList
$rgLuns = Get-RGLUNList
$rgLunsCount =$rgLuns.Length
for($i = 0; $i -lt $rgLunsCount;$i++)
{
for($j = 0; $j -lt $rgLuns[$i].RGName.Count;$j++)
{
if($rgLuns[$i].RGName[$j].Equals($RGName))
{
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUN']$")
$instance.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", $computerName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.ManagerService']/PrincipalName$", $computerName )
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.Storage']/StorageName$",$StorageName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RAIDGroup']/ObjectName$",$RGName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUNs']/ObjectName$",$RGLUNsName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUN']/ObjectName$",$rgLuns[$i].ObjectName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUN']/Number$",$rgLuns[$i].Number)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUN']/ExtremeCache$",$rgLuns[$i].ExtremeCache)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUN']/Type$",$rgLuns[$i].Type)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUN']/TotalCap$",$rgLuns[$i].TotalCap)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUN']/UID$",$rgLuns[$i].UID)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUN']/UsedCap$",$rgLuns[$i].UsedCap)
$instance.AddProperty("$MPElement[Name='Fujitsu.Storage.ETERNUS.RGLUN']/UsedRate$",$rgLuns[$i].UsedRate)
$instance.AddProperty("$MPElement[Name="System!System.Entity"]/DisplayName$", $rgLuns[$i].ObjectName)
$discoveryData.AddInstance($instance)
}
break
}
}
$discoveryData
</Script></ScriptBody>
<Parameters>
<Parameter>
<Name>sourceID</Name>
<Value>$MPElement$</Value>
</Parameter>
<Parameter>
<Name>managedEntityID</Name>
<Value>$Target/Id$</Value>
</Parameter>
<Parameter>
<Name>computerName</Name>
<Value>$Target/Host/Host/Host/Property[Type="Fujitsu.Storage.ETERNUS.ManagerService"]/PrincipalName$</Value>
</Parameter>
<Parameter>
<Name>StorageName</Name>
<Value>$Target/Host/Host/Property[Type="Fujitsu.Storage.ETERNUS.Storage"]/StorageName$</Value>
</Parameter>
<Parameter>
<Name>RGName</Name>
<Value>$Target/Host/Property[Type="Fujitsu.Storage.ETERNUS.RAIDGroup"]/ObjectName$</Value>
</Parameter>
<Parameter>
<Name>RGLUNsName</Name>
<Value>$Target/Property[Type="Fujitsu.Storage.ETERNUS.RGLUNs"]/ObjectName$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>600</TimeoutSeconds>
</DataSource>
</Discovery>