Implement Filter functionality in Function
This commit is contained in:
@@ -1,14 +1,32 @@
|
||||
function Get-ZertoVra {
|
||||
[cmdletbinding(
|
||||
DefaultParameterSetName = "Default"
|
||||
DefaultParameterSetName = "main"
|
||||
)]
|
||||
param(
|
||||
[Parameter( ParameterSetName = "ipConfig" )]
|
||||
[Parameter( ParameterSetName = "ipConfigurationTypes" )]
|
||||
[switch]$ipconfigurationtypes,
|
||||
[Parameter( ParameterSetName = "Statuses" )]
|
||||
[Parameter( ParameterSetName = "statuses" )]
|
||||
[switch]$statuses,
|
||||
[Parameter( ParameterSetName = "vraIdentifier" )]
|
||||
[string[]]$vraIdentifier
|
||||
[string[]]$vraIdentifier,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$vraName,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$status,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$vraVersion,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$hostVersion,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$ipAddress,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$vraGroup,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$datastoreName,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$datastoreClusterName,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$networkName
|
||||
)
|
||||
|
||||
begin {
|
||||
@@ -17,20 +35,34 @@ function Get-ZertoVra {
|
||||
}
|
||||
|
||||
process {
|
||||
if ( $ipconfigurationtypes ) {
|
||||
$uri = "{0}/ipconfigurationtypes" -f $baseUri
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
} elseif ( $statuses ) {
|
||||
$uri = "{0}/statuses" -f $baseUri
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
} elseif ( $PSCmdlet.ParameterSetName -eq "vraIdentifierifier" ) {
|
||||
$returnObject = foreach ( $vraId in $vraIdentifier ) {
|
||||
$uri = "{0}/{1}" -f $baseUri, $vraId
|
||||
Invoke-ZertoRestRequest -uri $uri
|
||||
switch ( $PSCmdlet.ParameterSetName ) {
|
||||
"filter" {
|
||||
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
|
||||
$uri = "{0}{1}" -f $baseUri, $filter
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
"ipConfigurationTypes" {
|
||||
$uri = "{0}/ipconfigurationtypes" -f $baseUri
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
"statuses" {
|
||||
$uri = "{0}/statuses" -f $baseUri
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
"vraIdentifierifier" {
|
||||
$returnObject = foreach ( $vraId in $vraIdentifier ) {
|
||||
$uri = "{0}/{1}" -f $baseUri, $vraId
|
||||
Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
}
|
||||
|
||||
default {
|
||||
$uri = $baseUri
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
} else {
|
||||
$uri = $baseUri
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user