HPE OneView Proliant Server Discovery Data Source
HewlettPackard.Oneview.Server.HPProliantServer.Discovery.DS (DataSourceModuleType)
Element properties:
Member Modules:
Overrideable Parameters:
Source Code:
<DataSourceModuleType ID="HewlettPackard.Oneview.Server.HPProliantServer.Discovery.DS" Accessibility="Internal" Batching="false">
<Configuration>
<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="SyncTime" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="SessionID" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="HostAddress" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="DomainID" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="DomainName" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter Selector="$Config/Interval$" ParameterType="int" ID="Interval"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="DS" TypeID="System!System.CommandExecuterDiscoveryDataSource">
<IntervalSeconds>$Config/Interval$</IntervalSeconds>
<ApplicationName>%windir%\System32\WindowsPowerShell\v1.0\PowerShell.exe</ApplicationName>
<WorkingDirectory/>
<CommandLine>"& '$file/Hewlett-PackardOneViewServersDiscovery.ps1$' '$MPElement$' '$Target/Id$' $Config/SessionID$ $Config/HostAddress$ $Config/DomainID$ $Config/DomainName$"</CommandLine>
<TimeoutSeconds>1200</TimeoutSeconds>
<RequireOutput>true</RequireOutput>
<Files>
<File>
<Name>Hewlett-PackardOneViewServersDiscovery.ps1</Name>
<Contents><Script>
#-------------------------------------------------------------------
# <company>Hewlett-Packard</company>
# <copyright>Copyright (c) Hewlett Packard Enterprise Company 2015-2016</copyright>
# <summary>
# Discover HPE OneView Proliant Servers
# </summary>
#-------------------------------------------------------------------
function LoadSnapIn
{
add-pssnapin "HPOneView.ManagedDevicesCmdLets"
}
function Main
{
Param ([string]$SourceId,[string]$ManagedEntityId,[string]$SessionID,[string]$HostAddress,[string]$DomainID,[string]$DomainName)
$OpsMgr = new-object -ComObject "MOM.ScriptAPI"
$DiscoveryData = $OpsMgr.CreateDiscoveryData(0, $SourceId, $ManagedEntityId)
$Servers = Get-ListOneViewServerHardwares -Address $HostAddress -SessionID $SessionID
if(($Servers -ne $null) -and ($Servers.Count -gt 0))
{
foreach($server in $Servers)
{
$InstanceServer = $DiscoveryData.CreateClassInstance("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']$")
$InstanceServer.AddProperty("$MPElement[Name='HOL!HewlettPackard.OneView.ApplianceCredential']/ID$", $DomainID)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/ObjectID$", $server.objectId)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/Name$", $server.name)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/LicensingIntent$", $server.licensingIntent)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/Model$", $server.model)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/Memory$", $server.memoryGB)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/iLOIPAddress$", $server.mpIpAddress)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/iLOModel$", $server.mpModel)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/iLODNSName$", $server.mpDnsName)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/iLOFirmwareVersion$", $server.mpFirmwareVersion)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/PartNumber$", $server.partNumber)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/PowerState$", $server.powerState)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/CPU$", $server.CPU)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/RomVersion$", $server.romVersion)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/SerialNumber$", $server.serialNumber)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/ServerHardwareType$", $server.serverHardwareType)
$InstanceServer.AddProperty("$MPElement[Name='HewlettPackard.Oneview.Server.HPProliantServer']/AssociatedServerProfile$", $server.serverProfile)
$InstanceServer.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $server.Name)
$DiscoveryData.AddInstance($InstanceServer)
}
}
$OpsMgr.Return($DiscoveryData)
}
if ($args.Length -eq 6)
{
LoadSnapIn
Main $args[0] $args[1] $args[2] $args[3] $args[4] $args[5]
}
</Script></Contents>
</File>
</Files>
</DataSource>
</MemberModules>
<Composition>
<Node ID="DS"/>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>