Files
ZertoApiWrapper/ZertoApiWrapper/Public/Invoke-ZertoMoveCommit.ps1
T
2019-04-05 22:49:36 -04:00

44 lines
1.4 KiB
PowerShell

<# .ExternalHelp ./en-us/ZertoApiWrapper-help.xml #>
function Invoke-ZertoMoveCommit {
[cmdletbinding()]
param(
[Parameter(
HelpMessage = "Name(s) of the VPG(s) to commit.",
Mandatory = $true
)]
[string[]]$vpgName,
[Parameter(
HelpMessage = "Set this to True to reverse protect the VPG(s) to the source site. If not set, will use selection made during move initiation. True or False"
)]
[bool]$reverseProtect,
[Parameter(
HelpMessage = "Use this switch to keep the source VMs. If not set, they will be destroyed."
)]
[switch]$keepSourceVms
)
begin {
$baseUri = "vpgs"
if ($reverseProtect) {
$body = @{"ReverseProtection" = $reverseProtect; "KeepSourceVms" = $keepSourceVms}
} else {
$body = @{"KeepSourceVms" = $keepSourceVms}
}
}
process {
foreach ($name in $vpgName) {
$vpgId = $(Get-ZertoVpg -name $name).vpgIdentifier
if ( -not $vpgId ) {
Write-Error "VPG: $name not found. Please check the name and try again. Skipping."
} else {
$uri = "{0}/{1}/MoveCommit" -f $baseUri, $vpgId
Invoke-ZertoRestRequest -uri $uri -body $($body | convertto-json) -method "POST"
}
}
}
end {
# Nothing to do
}
}