Initial Commit to Dedicated Repo

This commit is contained in:
Wes Carroll
2019-02-19 15:53:30 -05:00
parent e9773caa10
commit ae28fddec2
48 changed files with 5188 additions and 0 deletions
+94
View File
@@ -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
}
}