HPE OneView Appliance Discovery Datasource

HewlettPackard.OneView.Appliance.Discovery.DS (DataSourceModuleType)

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityInternal
RunAsHewlettPackard.OneView.RunAsProfile
OutputTypeSystem.Discovery.Data

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.CommandExecuterDiscoveryDataSource Default

Overrideable Parameters:

IDParameterTypeSelector
Intervalint$Config/Interval$

Source Code:

<DataSourceModuleType ID="HewlettPackard.OneView.Appliance.Discovery.DS" Accessibility="Internal" Batching="false" RunAs="HOL!HewlettPackard.OneView.RunAsProfile">
<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="ID" 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="UserName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="Password" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter Selector="$Config/Interval$" ParameterType="int" ID="Interval"/>
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<DataSource ID="DS" TypeID="System!System.CommandExecuterDiscoveryDataSource">
<IntervalSeconds>$Config/Interval$</IntervalSeconds>
<ApplicationName>%windir%\System32\WindowsPowerShell\v1.0\PowerShell.exe</ApplicationName>
<WorkingDirectory/>
<CommandLine>"&amp; '$file/Hewlett-PackardOneViewApplianceDiscovery.ps1$' '$MPElement$' '$Target/Id$' $Config/ID$ $Config/HostAddress$ $Config/UserName$ $Config/Password$"</CommandLine>
<TimeoutSeconds>300</TimeoutSeconds>
<RequireOutput>true</RequireOutput>
<Files>
<File>
<Name>Hewlett-PackardOneViewApplianceDiscovery.ps1</Name>
<Contents><Script>

#-------------------------------------------------------------------
# &lt;company&gt;Hewlett-Packard&lt;/company&gt;
# &lt;copyright&gt;Copyright (c) Hewlett Packard Enterprise Company 2014-2015&lt;/copyright&gt;
# &lt;summary&gt;
# Discover HPE OneView Appliance
# &lt;/summary&gt;
#-------------------------------------------------------------------
function LoadSnapIn
{
add-pssnapin "HPOneView.ManagedDevicesCmdLets"
}

function Main
{
Param ([string]$SourceId,[string]$ManagedEntityId,[string]$DomainID,[string]$HostAddress,[string]$UserName,[string]$Password)

$OpsMgr = new-object -ComObject "MOM.ScriptAPI"
$DiscoveryData = $OpsMgr.CreateDiscoveryData(0, $SourceId, $ManagedEntityId)

$App = Get-Appliance -Address $HostAddress -Username $UserName -Password $Password

if($App -ne $null)
{
$InstanceAppliance = $DiscoveryData.CreateClassInstance("$MPElement[Name='HOL!HewlettPackard.OneView.Appliance']$")
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.ApplianceCredential"]/ID$", $DomainID)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/HostAddress$", $App.Ipv4Address)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/HostAddressIpv6$", $App.Ipv6Address)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/SessionID$", $App.SessionID)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.HPManagementSoftware"]/Version$", $App.Version)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/DomainName$", $App.DomainName)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/Model$", $App.Model)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/Build$", $App.Build)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/Revision$", $App.Revision)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/HostName$", $App.HostName)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/ManagedBy$", $App.ManagedBy)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/APIVersion$", $App.APIVersion)
$InstanceAppliance.AddProperty("$MPElement[Name="HOL!HewlettPackard.OneView.Appliance"]/ApplianceAPIVersion$", $App.ApplianceAPIVersion)
$InstanceAppliance.AddProperty("$MPElement[Name="System!System.Entity"]/DisplayName$", $App.DomainName)

$DiscoveryData.AddInstance($InstanceAppliance)
}
$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>