Fujitsu PRIMERGY ESXi Seed Server Heartbeat Writeaction
Fujitsu.Servers.PRIMERGY.ESXiSeed.SaveTargetsHeartbeat (WriteActionModuleType)
Writeaction module to save Fujitsu PRIMERGY ESXi Seed Server heartbeat
Element properties: Member Modules:
Source Code: <WriteActionModuleType ID="Fujitsu.Servers.PRIMERGY.ESXiSeed.SaveTargetsHeartbeat" Accessibility="Internal" Batching="false">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="ManagedEntityId" type="xsd:string"/>
</Configuration>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<WriteAction ID="PS" TypeID="Windows!Microsoft.Windows.PowerShellWriteAction">
<ScriptName>SeedHeartbeats.ps1</ScriptName>
<ScriptBody><Script>
#-------------------------------------------------------------------
# Fujitsu
# Copyright 2015-2017 FUJITSU LIMITED
#
# SeedHeartbeats.ps1
#
# Summary:
# Saves heartbeats of ESXiSeed Server objects
#
#-------------------------------------------------------------------
Param (
[string] $ManagedEntityId
)
$AppDataPath = "$($Env:LOCALAPPDATA)\Fujitsu\SVISCOM\SVISCOM-ESXi"
# create the target directory, if it does not exist
if (! (Test-Path -Path "$($AppDataPath)\Heartbeats")) {
New-Item -ItemType directory -Path "$($AppDataPath)\Heartbeats" | Out-Null
}
$TargetId = $ManagedEntityId.ToUpper()
if ($TargetId[0] -eq "{") {
$TargetId = $TargetId.Substring(1, $TargetId.Length - 2)
}
(Get-Date).Ticks.ToString() | Out-File -FilePath "$($AppDataPath)\Heartbeats\$($TargetId)"
</Script> </ScriptBody>
<Parameters>
<Parameter>
<Name>ManagedEntityId</Name>
<Value>$Config/ManagedEntityId$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>20</TimeoutSeconds>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="PS"/>
</Composition>
</Composite>
</ModuleImplementation>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>