Files
ZertoApiWrapper/Functions/Get-ZertoAlert.ps1
T
2019-02-19 16:36:27 -05:00

72 lines
2.5 KiB
PowerShell

function Get-ZertoAlert {
[cmdletbinding( defaultParameterSetName = "main" )]
param(
[Parameter( ParameterSetName = "alertId", Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true )]
[string[]]$alertId,
[Parameter( ParameterSetName = "entities", Mandatory = $true )]
[switch]$entities,
[Parameter( ParameterSetName = "helpIdentifiers", Mandatory = $true )]
[switch]$helpIdentifiers,
[Parameter( ParameterSetName = "levels", Mandatory = $true )]
[switch]$levels,
[Parameter( ParameterSetName = "filter" )]
[string]$startDate,
[Parameter( ParameterSetName = "filter" )]
[string]$endDate,
[Parameter( ParameterSetName = "filter" )]
[string]$vpgIdentifier,
[Parameter( ParameterSetName = "filter" )]
[string]$siteIdentifier,
[Parameter( ParameterSetName = "filter" )]
[string]$zorgIdentifier,
[Parameter( ParameterSetName = "filter" )]
[string]$level,
[Parameter( ParameterSetName = "filter" )]
[string]$helpIdentifier,
[Parameter( ParameterSetName = "filter" )]
[string]$entity,
[Parameter( ParameterSetName = "filter" )]
[switch]$isDismissed
)
begin {
$baseUri = "alerts"
$returnObject = [System.Collections.ArrayList]@()
}
process {
switch ( $PSCmdlet.ParameterSetName ) {
"main" {
$uri = "{0}" -f $baseUri
$results = Invoke-ZertoRestRequest -uri $uri
$returnObject.Add($results) | Out-Null
}
"alertId" {
foreach ( $id in $alertId ) {
$uri = "{0}/{1}" -f $baseUri, $alertId
$results = Invoke-ZertoRestRequest -uri $uri
$returnObject.Add($results) | Out-Null
}
}
"filter" {
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
$uri = "{0}{1}" -f $baseUri, $filter
$results = Invoke-ZertoRestRequest -uri $uri
$returnObject.Add($results) | Out-Null
}
default {
$uri = "{0}/{1}" -f $baseUri, $PSCmdlet.ParameterSetName.ToLower()
$results = Invoke-ZertoRestRequest -uri $uri
$returnObject.Add($results) | Out-Null
}
}
}
end {
return $returnObject
}
}