63 lines
2.0 KiB
PowerShell
63 lines
2.0 KiB
PowerShell
function Get-ZertoPeerSite {
|
|
[cmdletbinding( defaultParameterSetName = "main" )]
|
|
param (
|
|
[Parameter ( ParameterSetName = "pairingStatuses", Mandatory = $true )]
|
|
[switch]$pairingStatuses,
|
|
[Parameter ( ParameterSetName = "siteIdentifier",
|
|
Mandatory = $true,
|
|
ValueFromPipeline = $true,
|
|
ValueFromPipelineByPropertyName = $true )]
|
|
[string[]]$siteIdentifier,
|
|
[Parameter ( ParameterSetName = "filter" )]
|
|
[string]$peerName,
|
|
[Parameter ( ParameterSetName = "filter" )]
|
|
[string]$paringStatus,
|
|
[Parameter ( ParameterSetName = "filter" )]
|
|
[string]$location,
|
|
[Parameter ( ParameterSetName = "filter" )]
|
|
[string]$hostName,
|
|
[Parameter ( ParameterSetName = "filter" )]
|
|
[string]$port
|
|
)
|
|
|
|
begin {
|
|
$baseUri = "peersites"
|
|
$returnObject = [System.Collections.ArrayList]@()
|
|
}
|
|
|
|
process {
|
|
switch ( $PSCmdlet.ParameterSetName ) {
|
|
"main" {
|
|
$uri = "{0}" -f $baseUri
|
|
$results = Invoke-ZertoRestRequest -uri $uri
|
|
$returnObject.Add($results) | Out-Null
|
|
}
|
|
|
|
"siteIdentifier" {
|
|
foreach ( $id in $siteIdentifier ) {
|
|
$uri = "{0}/{1}" -f $baseUri, $id
|
|
$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
|
|
}
|
|
}
|