Files
ZertoApiWrapper/ZertoApiWrapper/Public/Get-ZertoTask.ps1
T
Wes Carroll 832a0fd4bd Update return variable to Array from ArrayList
Update return variable to Array from ArrayList to allow for proper pipeline processing.
2019-02-20 11:24:08 -05:00

57 lines
1.7 KiB
PowerShell

function Get-ZertoTask {
[cmdletbinding( DefaultParameterSetName = "main" )]
param (
[Parameter( ParameterSetName = "taskIdentifier" )]
[string[]]$taskIdentifier,
[Parameter( ParameterSetName = "types" )]
[switch]$types,
[Parameter ( ParameterSetName = "filter" )]
[string]$startedBeforeDate,
[Parameter ( ParameterSetName = "filter" )]
[string]$startedAfterDate,
[Parameter ( ParameterSetName = "filter" )]
[string]$completedAfterDate,
[Parameter ( ParameterSetName = "filter" )]
[string]$completedBeforeDate,
[Parameter ( ParameterSetName = "filter" )]
[string]$type,
[Parameter ( ParameterSetName = "filter" )]
[string]$status
)
begin {
$baseUri = "tasks"
$returnObject = @()
}
process {
switch ( $PSCmdlet.ParameterSetName ) {
"main" {
$returnObject = Invoke-ZertoRestRequest -uri $baseUri
}
"filter" {
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
$uri = "{0}{1}" -f $baseUri, $filter
$returnObject = New-ZertoRestRequest -uri $uri
}
"taskIdentifier" {
$returnObject = foreach ( $id in $taskIdentifier ) {
$uri = "{0}/{1}" -f $baseUri, $id
Invoke-ZertoRestRequest -uri $uri
}
}
default {
$uri = "{0}/{1}" -f $baseUri, $PSCmdlet.ParameterSetName
$returnObject = Invoke-ZertoRestRequest -uri $uri
}
}
}
end {
return $returnObject
}
}