68 lines
2.0 KiB
PowerShell
68 lines
2.0 KiB
PowerShell
<# .ExternalHelp ./en-us/ZertoApiWrapper-help.xml #>
|
|
function Get-ZertoVolume {
|
|
[cmdletbinding( DefaultParameterSetName = "main" )]
|
|
param(
|
|
[Parameter(
|
|
ParameterSetName = "filter",
|
|
HelpMessage = "The type of volume. Please see Zerto API Documentation for possible values."
|
|
)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[string]$volumeType,
|
|
[Parameter(
|
|
ParameterSetName = "filter",
|
|
HelpMessage = "The identifier of the VPG."
|
|
)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[Alias("vpgId")]
|
|
[string]$vpgIdentifier,
|
|
[Parameter(
|
|
ParameterSetName = "filter",
|
|
HelpMessage = "The identifier of the datastore."
|
|
)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[Alias("datastoreId", "dsId")]
|
|
[string]$datastoreIdentifier,
|
|
[Parameter(
|
|
ParameterSetName = "filter",
|
|
HelpMessage = "The identifier of the protected virtual machine."
|
|
)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[Alias("protectedVmId")]
|
|
[string]$protectedVmIdentifier,
|
|
[Parameter(
|
|
ParameterSetName = "filter",
|
|
HelpMessage = "The identifier of the owning virtual machine."
|
|
)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[Alias("owningVmId")]
|
|
[string]$owningVmIdentifier
|
|
)
|
|
|
|
begin {
|
|
$baseUri = "volumes"
|
|
$returnObject = @()
|
|
}
|
|
|
|
process {
|
|
# Process based on ParameterSetName
|
|
switch ( $PSCmdlet.ParameterSetName ) {
|
|
|
|
# If a filter is defined, build the query string and return selected information
|
|
"filter" {
|
|
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
|
|
$uri = "{0}{1}" -f $baseUri, $filter
|
|
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
|
}
|
|
|
|
# Default action is to return all Volumes.
|
|
default {
|
|
$returnObject = Invoke-ZertoRestRequest -uri $baseUri
|
|
}
|
|
}
|
|
}
|
|
|
|
end {
|
|
return $returnObject
|
|
}
|
|
}
|