functions/Set-ZGEvent.ps1
|
function Set-ZGEvent { param ( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True)] [long[]] $EventId, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $false)] [string] $Message, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $false)] [ValidateSet( "CloseProblem", "AcknowledgeEvent", "AddMessage", "ChangeSeverity", "UnacknowledgeEvent", "SuppressEvent", "UnsuppressEvent", "ChangeEventRankToCause", "ChangeEventRankToSymptom" )] [string] $Action, [Parameter(Mandatory = $false, ValueFromPipelineByPropertyName = $false)] [ValidateSet("NotClassified", "Information", "Warning", "Average", "High", "Disaster" )] [string] $Severity ) # ACTION # # 1 - close problem; # 2 - acknowledge event; # 4 - add message; # 8 - change severity; # 16 - unacknowledge event; # 32 - suppress event; # 64 - unsuppress event; # 128 - change event rank to cause; # 256 - change event rank to symptom. # SEVERITY # # 0 - not classified; # 1 - information; # 2 - warning; # 3 - average; # 4 - high; # 5 - disaster. Begin { $ActionHashtable = @{ "CloseProblem" = 1 "AcknowledgeEvent" = 2 "AddMessage" = 4 "ChangeSeverity" = 8 "UnacknowledgeEvent" = 16 "SuppressEvent" = 32 "UnsuppressEvent" = 64 "ChangeEventRankToCause" = 128 "ChangeEventRankToSymptom" = 256 } $SeverityHashtable = @{ "NotClassified" = 0 "Information" = 1 "Warning" = 2 "Average" = 3 "High" = 4 "Disaster" = 5 } $parameters = @{ eventids = $EventId message = $Message action = $ActionHashtable[$Action] } if ($PSBoundParameters.ContainsKey('Severity')) { $parameters.severity = $SeverityHashtable[$Severity] } } Process { $response = Invoke-ZGRequest -Method "POST" -Body @{ "method" = "event.acknowledge" "params" = $parameters "auth" = $script:RequestAuth } return $response.result } End {} } |