Public/New-LMAlertAck.ps1
<# .SYNOPSIS Creates a new alert acknowledgment in LogicMonitor. .DESCRIPTION The New-LMAlertAck function is used to create a new alert acknowledgment in LogicMonitor. It sends a POST request to the LogicMonitor API to acknowledge one or more alerts. .PARAMETER Ids Specifies the alert IDs to be acknowledged. This parameter is mandatory and accepts an array of strings. .PARAMETER Note Specifies the note to be added to the acknowledgment. This parameter is mandatory and accepts a string. .EXAMPLE New-LMAlertAck -Ids @("12345","67890") -Note "Acknowledging alerts" This example acknowledges the alerts with the IDs "12345" and "67890" and adds the note "Acknowledging alerts" to the acknowledgment. .NOTES This function requires a valid API authentication. Make sure you are logged in before running any commands by using the Connect-LMAccount function. #> Function New-LMAlertAck { [CmdletBinding()] Param ( [Parameter(Mandatory, ValueFromPipelineByPropertyName)] [Alias("Id")] [String[]]$Ids, [Parameter(Mandatory)] [String]$Note ) Begin{} Process{ #Check if we are logged in and have valid api creds If ($Script:LMAuth.Valid) { #Build header and uri $ResourcePath = "/alert/alerts/ack" Try { $Data = @{ alertIds = $Ids ackComment = $Note } $Data = ($Data | ConvertTo-Json) $Headers = New-LMHeader -Auth $Script:LMAuth -Method "POST" -ResourcePath $ResourcePath -Data $Data $Uri = "https://$($Script:LMAuth.Portal).logicmonitor.com/santaba/rest" + $ResourcePath Resolve-LMDebugInfo -Url $Uri -Headers $Headers[0] -Command $MyInvocation -Payload $Data #Issue request $Response = Invoke-WebRequest -Uri $Uri -Method "POST" -Headers $Headers[0] -WebSession $Headers[1] -Body $Data If($Response.StatusCode -eq 200){ Return "Successfully acknowledged alert id(s): $Ids" } } Catch [Exception] { $Proceed = Resolve-LMException -LMException $PSItem If (!$Proceed) { Return } } } Else { Write-Error "Please ensure you are logged in before running any commands, use Connect-LMAccount to login and try again." } } End{} } |