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:

TypeWriteActionModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
InputTypeSystem.BaseData

Member Modules:

ID Module Type TypeId RunAs 
PS WriteAction Microsoft.Windows.PowerShellWriteAction Default

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>