Fillout FailoverTest options

This commit is contained in:
Wes Carroll
2019-02-27 14:07:14 -05:00
parent e01ef669d6
commit 620751ca2a
@@ -2,22 +2,45 @@ function Invoke-ZertoFailoverTest {
[cmdletbinding()]
param(
[Parameter(
HelpMessage = "Name(s) of VPG(s) to roll back from failing over",
HelpMessage = "Name of VPG to failover test",
Mandatory = $true
)]
[string[]]$vpgName
[string]$vpgName,
[Parameter(
HelpMessage = "The identifier of the checkpoint to use for testing. If unspecified, the latest checkpoint will be used."
)]
[string]$checkpointIdentifier,
[Parameter(
HelpMessage = "The name(s) of the VMs within the selected VPG you wish to test. If unspecified, all VMs in the VPG will be tested."
)]
[string[]]$vmName
)
begin {
$baseUri = "vpgs"
$vpgIdentifier = $(Get-ZertoVpg -name $vpgName).vpgIdentifier
if ( $PSBoundParameters.ContainsKey('vmName') ) {
$vmIdentifiers = @()
$vmIdentifiers = foreach ( $name in $vmName ) {
$(Get-ZertoProtectedVm -vmName $name).vmIdentifier
}
}
}
process {
foreach ($name in $vpgName) {
$id = $(Get-ZertoVpg -name $name).vpgIdentifier
$uri = "{0}/{1}/FailoverTest" -f $baseUri, $id
Invoke-ZertoRestRequest -uri $uri -method "POST"
$uri = "{0}/{1}/FailoverTest" -f $baseUri, $vpgIdentifier
$body = [ordered]@{}
if ($checkpointIdentifier) {
$body['CheckpointIdentifier'] = $checkpointIdentifier
}
if ( $PSBoundParameters.ContainsKey('vmName') ) {
$vmIdentifiers = @()
$vmIdentifiers = foreach ( $name in $vmName ) {
$(Get-ZertoProtectedVm -vmName $name).vmIdentifier
}
$body['VmIdentifiers'] = $vmIdentifiers
}
Invoke-ZertoRestRequest -uri $uri -method "POST" -body $($body | ConvertTo-Json)
}
end {