92 lines
3.1 KiB
PowerShell
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!
|
|
}
|
|
}
|