Implement Filter functionality in Function
This commit is contained in:
@@ -1,14 +1,32 @@
|
|||||||
function Get-ZertoVra {
|
function Get-ZertoVra {
|
||||||
[cmdletbinding(
|
[cmdletbinding(
|
||||||
DefaultParameterSetName = "Default"
|
DefaultParameterSetName = "main"
|
||||||
)]
|
)]
|
||||||
param(
|
param(
|
||||||
[Parameter( ParameterSetName = "ipConfig" )]
|
[Parameter( ParameterSetName = "ipConfigurationTypes" )]
|
||||||
[switch]$ipconfigurationtypes,
|
[switch]$ipconfigurationtypes,
|
||||||
[Parameter( ParameterSetName = "Statuses" )]
|
[Parameter( ParameterSetName = "statuses" )]
|
||||||
[switch]$statuses,
|
[switch]$statuses,
|
||||||
[Parameter( ParameterSetName = "vraIdentifier" )]
|
[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 {
|
begin {
|
||||||
@@ -17,20 +35,34 @@ function Get-ZertoVra {
|
|||||||
}
|
}
|
||||||
|
|
||||||
process {
|
process {
|
||||||
if ( $ipconfigurationtypes ) {
|
switch ( $PSCmdlet.ParameterSetName ) {
|
||||||
$uri = "{0}/ipconfigurationtypes" -f $baseUri
|
"filter" {
|
||||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
|
||||||
} elseif ( $statuses ) {
|
$uri = "{0}{1}" -f $baseUri, $filter
|
||||||
$uri = "{0}/statuses" -f $baseUri
|
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
}
|
||||||
} elseif ( $PSCmdlet.ParameterSetName -eq "vraIdentifierifier" ) {
|
|
||||||
$returnObject = foreach ( $vraId in $vraIdentifier ) {
|
"ipConfigurationTypes" {
|
||||||
$uri = "{0}/{1}" -f $baseUri, $vraId
|
$uri = "{0}/ipconfigurationtypes" -f $baseUri
|
||||||
Invoke-ZertoRestRequest -uri $uri
|
$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