Create EvacuateVra Function
This commit is contained in:
@@ -0,0 +1,58 @@
|
|||||||
|
function Invoke-ZertoEvacuateVra {
|
||||||
|
[CmdletBinding(SupportsShouldProcess, DefaultParameterSetName = "VraIdentifier")]
|
||||||
|
param (
|
||||||
|
# HostName Option
|
||||||
|
[Parameter(
|
||||||
|
Mandatory,
|
||||||
|
HelpMessage = "Name of the Host to Evacuate",
|
||||||
|
ParameterSetName = "HostName"
|
||||||
|
)]
|
||||||
|
[String]$HostName,
|
||||||
|
# VRA Option
|
||||||
|
[Parameter(
|
||||||
|
Mandatory,
|
||||||
|
HelpMessage = "Name of the VRA to Evacuate",
|
||||||
|
ParameterSetName = "VraName"
|
||||||
|
)]
|
||||||
|
[String]$VraName,
|
||||||
|
# VRAIdentifier Option
|
||||||
|
[Parameter(
|
||||||
|
Mandatory,
|
||||||
|
HelpMessage, "Identifier of the VRA to be evacuated",
|
||||||
|
ParameterSetName = "VraIdentifier",
|
||||||
|
ValueFromPipelineByPropertyName,
|
||||||
|
ValueFromPipeline
|
||||||
|
)]
|
||||||
|
[Alias("VraId", "Identifier")]
|
||||||
|
[String]$VraIdentifier
|
||||||
|
)
|
||||||
|
|
||||||
|
begin {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
process {
|
||||||
|
switch ($PSCmdlet.ParameterSetName) {
|
||||||
|
"HostName" {
|
||||||
|
$VraName = "Z-VRA-" + $HostName
|
||||||
|
Invoke-ZertoEvacuateVra -VraName $VraName
|
||||||
|
}
|
||||||
|
|
||||||
|
"VraName" {
|
||||||
|
$VraIdentifier = (Get-ZertoVra -vraName $VraName).Identifier
|
||||||
|
Invoke-ZertoEvacuateVra -VraIdentifier $VraIdentifier
|
||||||
|
}
|
||||||
|
|
||||||
|
"VraIdentifier" {
|
||||||
|
$Uri = "vras/{0}/changerecoveryvra/execute" -f $VraIdentifier
|
||||||
|
if ($PSCmdlet.ShouldProcess($VraIdentifier, "Evacuating VRA with Identifier:")) {
|
||||||
|
Invoke-ZertoRestRequest -Uri $Uri -Method "POST"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
end {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user