Initial Commit to Dedicated Repo
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
function Get-ZertoVirtualizationSite {
|
||||
[cmdletbinding( DefaultParameterSetName = "main" )]
|
||||
param(
|
||||
[Parameter( ParameterSetName = "siteIdentifier", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "datastoreClusters", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "datastores", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "hostClusters", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "hosts", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "networks", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "resourcePools", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "vms", Mandatory = $true )]
|
||||
[string[]]$siteIdentifiers,
|
||||
[Parameter( ParameterSetName = "devices", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "folders", Mandatory = $true )]
|
||||
[string]$siteIdentifier,
|
||||
[Parameter( ParameterSetName = "datastoreClusters", Mandatory = $true )]
|
||||
[switch]$datastoreClusters,
|
||||
[Parameter( ParameterSetName = "datastores", Mandatory = $true )]
|
||||
[switch]$datastores,
|
||||
[Parameter( ParameterSetName = "devices", Mandatory = $true )]
|
||||
[switch]$devices,
|
||||
[Parameter( ParameterSetName = "devices", Mandatory = $false )]
|
||||
[Parameter( ParameterSetName = "hosts", Mandatory = $false )]
|
||||
[string]$hostIdentifier,
|
||||
[Parameter( ParameterSetName = "folders", Mandatory = $true )]
|
||||
[switch]$folders,
|
||||
[Parameter( ParameterSetName = "hostClusters", Mandatory = $true )]
|
||||
[switch]$hostClusters,
|
||||
[Parameter( ParameterSetName = "hosts", Mandatory = $true )]
|
||||
[switch]$hosts,
|
||||
[Parameter( ParameterSetName = "networks", Mandatory = $true )]
|
||||
[switch]$networks,
|
||||
[Parameter( ParameterSetName = "resourcePools", Mandatory = $true )]
|
||||
[switch]$resourcePools,
|
||||
[Parameter( ParameterSetName = "vms", Mandatory = $true )]
|
||||
[switch]$vms
|
||||
)
|
||||
|
||||
begin {
|
||||
$baseUri = "virtualizationsites"
|
||||
$returnObject = [System.Collections.ArrayList]@()
|
||||
}
|
||||
|
||||
process {
|
||||
switch ( $PSCmdlet.ParameterSetName ) {
|
||||
"main" {
|
||||
$results = Invoke-ZertoRestRequest -uri $baseUri
|
||||
$returnObject.Add($results) | Out-Null
|
||||
}
|
||||
|
||||
"devices" {
|
||||
foreach ( $id in $siteIdentifier ) {
|
||||
if ( $PSBoundParameters.Contains( "hostIdentifier" ) ) {
|
||||
$uri = "{0}/{1}/devices?hostIdentifier={2}" -f $baseUri, $siteIdentifier, $hostIdentifier
|
||||
} else {
|
||||
$uri = "{0}/{1}/devices" -f $baseUri, $siteIdentifier
|
||||
}
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
$returnObject.Add($results)
|
||||
}
|
||||
}
|
||||
|
||||
"hosts" {
|
||||
if ( $PSBoundParameters.Contains( "hostIdentifier" ) ) {
|
||||
$uri = "{0}/{1}/hosts/{2}" -f $baseUri, $siteIdentifier, $hostIdentifier
|
||||
} else {
|
||||
$uri = "{0}/{1}/hosts" -f $baseUri, $siteIdentifier
|
||||
}
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
$returnObject.Add($results)
|
||||
}
|
||||
|
||||
"siteIdentifier" {
|
||||
foreach ( $id in $siteIdentifiers ) {
|
||||
$uri = "{0}/{1}" -f $baseUri, $id
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
$returnObject.Add($results)
|
||||
}
|
||||
}
|
||||
|
||||
default {
|
||||
foreach ( $id in $siteIdentifiers ) {
|
||||
$uri = "{0}/{1}/{2}" -f $baseUri, $siteIdentifier, $PSCmdlet.ParameterSetName.ToLower()
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
$returnObject.Add($results)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
return $returnObject
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user