lib/core/docs/Publish-IcingaEventlogDocumentation.psm1
function Publish-IcingaEventlogDocumentation() { param( [string]$Namespace, [string]$OutFile ); [string]$DocContent = [string]::Format( '# {0} Eventlog Documentation', $Namespace ); $DocContent += New-IcingaNewLine; $DocContent += New-IcingaNewLine; $DocContent += "Below you will find a list of EventId's which are exported by this module. The short and detailed message are both written directly into the eventlog. This documentation shall simply provide a summary of available EventId's"; $SortedArray = $IcingaEventLogEnums[$Namespace].Keys.GetEnumerator() | Sort-Object; foreach ($entry in $SortedArray) { $entry = $IcingaEventLogEnums[$Namespace][$entry]; $DocContent = [string]::Format( '{0}{2}{2}## Event Id {1}{2}{2}| Category | Short Message | Detailed Message |{2}| --- | --- | --- |{2}| {3} | {4} | {5} |', $DocContent, $entry.EventId, (New-IcingaNewLine), $entry.EntryType, $entry.Message, $entry.Details ); } if ([string]::IsNullOrEmpty($OutFile)) { Write-Output $DocContent; } else { Write-IcingaFileSecure -File $OutFile -Value $DocContent; } } |