exports/Restore-CVVirtualMachine.ps1
# ---------------------------------------------------------------------------------- # Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.2, generator: @autorest/powershell@4.0.708) # Changes may cause incorrect behavior and will be lost if the code is regenerated. # ---------------------------------------------------------------------------------- <# .Synopsis Method to initiate restore/recovery of specified virtual machine. .Description Method to initiate restore/recovery of specified virtual machine. .Example {{ Add code here }} .Example {{ Add code here }} .Inputs System.Object .Outputs System.Management.Automation.PSObject .Link https://learn.microsoft.com/powershell/module/commvaultpowershell/restore-cvvirtualmachine #> function Restore-CVVirtualMachine { [Alias('Restore-CVVM', 'Restore-CVVMOut')] [OutputType([System.Management.Automation.PSObject])] [CmdletBinding(DefaultParameterSetName='ByName', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] param( [Parameter(ParameterSetName='ByName', Mandatory)] [Commvault.Powershell.Category('Body')] [System.String] # Specify the virtual machine to be restored by Name. ${Name}, [Parameter(ParameterSetName='ByName', Mandatory)] [Commvault.Powershell.Category('Body')] [System.String] # Source virtual machine associated ClientName ${ClientName}, [Parameter()] [Commvault.Powershell.Category('Body')] [System.String] # Specify SubclientName to override the default behaviour. ${SubclientName}, [Parameter()] [Commvault.Powershell.Category('Body')] [System.Int32] # Specify JobId from which to restore. ${JobId}, [Parameter()] [Commvault.Powershell.Category('Body')] [System.Int32] # Specify CopyPrecedence from which the restore should occur: Primary, secondary or cloud. ${CopyPrecedence}, [Parameter()] [Commvault.Powershell.Category('Body')] [CVVSARestoreType] # Specify RestoreType: FullVirtualMachine or VirtualMachineFiles. ${RestoreType}, [Parameter()] [Commvault.Powershell.Category('Body')] [System.Management.Automation.SwitchParameter] # Switch to create an out-of-place virtual machine restore. ${OutofPlace}, [Parameter()] [Commvault.Powershell.Category('Body')] [System.Management.Automation.SwitchParameter] # Switch to PowerOnAfterRestore. ${PowerOnAfterRestore}, [Parameter()] [Commvault.Powershell.Category('Body')] [System.Management.Automation.SwitchParameter] # Switch to OverwriteExisting. ${OverwriteExisting}, [Parameter()] [Commvault.Powershell.Category('Body')] [System.Management.Automation.SwitchParameter] # Switch to Force override of default 'WhatIf' confirmation behavior. ${Force}, [Parameter()] [Commvault.Powershell.Category('Body')] [System.Object] # PSCustom object with request body which contains destination client and destination info or vmFileLevelRestoreOptions for out-of-place restore ${Requestbody}, [Parameter(ParameterSetName='ById', Mandatory)] [Alias('VMName')] [Commvault.Powershell.Category('Body')] [System.String] # Specify the virtual machine to be restored by GUID. ${Id}, [Parameter(ParameterSetName='ByObject', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)] [Commvault.Powershell.Category('Body')] [System.Object] ${ClientObject} ) begin { try { $outBuffer = $null if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { $PSBoundParameters['OutBuffer'] = 1 } $parameterSet = $PSCmdlet.ParameterSetName $mapping = @{ ByName = 'CommvaultPowerShell.custom\Restore-CVVirtualMachine'; ById = 'CommvaultPowerShell.custom\Restore-CVVirtualMachine'; ByObject = 'CommvaultPowerShell.custom\Restore-CVVirtualMachine'; } $cmdInfo = Get-Command -Name $mapping[$parameterSet] [Commvault.Powershell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) [Commvault.Powershell.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) $scriptCmd = {& $wrappedCmd @PSBoundParameters} $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) $steppablePipeline.Begin($PSCmdlet) } catch { throw } } process { try { $steppablePipeline.Process($_) } catch { throw } } end { try { $steppablePipeline.End() } catch { throw } } } |