Files
ZertoApiWrapper/ZertoApiWrapper/Public/Get-ZertoPeerSite.ps1
T
2020-05-05 21:59:14 -04:00

92 lines
3.1 KiB
PowerShell

<# .ExternalHelp ./en-us/ZertoApiWrapper-help.xml #>
function Get-ZertoPeerSite {
[cmdletbinding( defaultParameterSetName = "main" )]
param (
[Parameter(
ParameterSetName = "pairingStatuses",
HelpMessage = "Switch to return possible paiting statuses.",
Mandatory
)]
[switch]$pairingStatuses,
[Parameter(
ParameterSetName = "siteIdentifier",
Mandatory,
ValueFromPipeline = $true,
ValueFromPipelineByPropertyName = $true,
HelpMessage = "The identifier(s) of the peer site(s) for which information is to be returned."
)]
[ValidateNotNullOrEmpty()]
[Alias("siteId")]
[string[]]$siteIdentifier,
[Parameter(
ParameterSetName = "filter",
HelpMessage = "The name of a peer site for which information is to be returned. The name is case-sensitive."
)]
[ValidateNotNullOrEmpty()]
[string]$peerName,
[Parameter (
ParameterSetName = "filter",
HelpMessage = "The pairing status for which information is to be returned."
)]
[ValidateNotNullOrEmpty()]
[string]$paringStatus,
[Parameter (
ParameterSetName = "filter",
HelpMessage = "The site location, as specified in the site information, for which information is to be returned."
)]
[ValidateNotNullOrEmpty()]
[string]$location,
[Parameter (
ParameterSetName = "filter",
HelpMessage = "The IP address of a Zerto Virtual Manager, paired with this site, for which information is to be returned."
)]
[ValidateNotNullOrEmpty()]
[string]$hostName,
[Parameter (
ParameterSetName = "filter",
HelpMessage = "The port used to access peer sites for which information is to be returned. The default port is 9081."
)]
[ValidateNotNullOrEmpty()]
[string]$port
)
begin {
$baseUri = "peersites"
}
process {
switch ( $PSCmdlet.ParameterSetName ) {
"main" {
$uri = "{0}" -f $baseUri
$results = Invoke-ZertoRestRequest -uri $uri
return $results
}
"siteIdentifier" {
foreach ( $id in $siteIdentifier ) {
$uri = "{0}/{1}" -f $baseUri, $id
$results = Invoke-ZertoRestRequest -uri $uri
return $results
}
}
"filter" {
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
$uri = "{0}{1}" -f $baseUri, $filter
$results = Invoke-ZertoRestRequest -uri $uri
return $results
}
default {
$uri = "{0}/{1}" -f $baseUri, $PSCmdlet.ParameterSetName.ToLower()
$results = Invoke-ZertoRestRequest -uri $uri
return $results
}
}
}
end {
#Nothing to do!
}
}