2019-09-13 13:04:27 -04:00
|
|
|
Import-IcingaLib icinga\enums;
|
|
|
|
|
Import-IcingaLib icinga\exception;
|
|
|
|
|
|
|
|
|
|
function Exit-IcingaMissingPermission()
|
|
|
|
|
{
|
|
|
|
|
param(
|
2019-09-13 13:16:19 -04:00
|
|
|
[string]$InputString,
|
2019-09-13 13:04:27 -04:00
|
|
|
[string]$StringPattern,
|
|
|
|
|
[string]$CustomMessage,
|
|
|
|
|
[string]$ExeptionType
|
|
|
|
|
);
|
|
|
|
|
|
2019-09-13 13:16:19 -04:00
|
|
|
if ($null -eq $InputString -Or [string]::IsNullOrEmpty($InputString)) {
|
2019-09-13 13:04:27 -04:00
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2019-09-13 13:16:19 -04:00
|
|
|
if (-Not $InputString.Contains($StringPattern)) {
|
2019-09-13 13:04:27 -04:00
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$OutputMessage = '{0}: Icinga Permission Error was thrown: {3}{1}{1}{2}';
|
|
|
|
|
if ([string]::IsNullOrEmpty($CustomMessage) -eq $TRUE) {
|
|
|
|
|
$OutputMessage = '{0}: Icinga Permission Error was thrown {1}{1}{2}{3}';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$OutputMessage = [string]::Format(
|
|
|
|
|
$OutputMessage,
|
|
|
|
|
$IcingaEnums.IcingaExitCodeText.($IcingaEnums.IcingaExitCode.Unknown),
|
|
|
|
|
"`r`n",
|
|
|
|
|
$ExeptionType,
|
|
|
|
|
$CustomMessage
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
Write-Host $OutputMessage;
|
|
|
|
|
exit $IcingaEnums.IcingaExitCode.Unknown;
|
|
|
|
|
}
|