ProxyCmdletDefinitions.ps1


# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Adds SSL certificate check
.Description
Adds SSL certificate check
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/add-zvmsslcheck
#>

function Add-ZvmSslCheck {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Add', PositionalBinding=$false)]
param()

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Add = 'Zerto.Zvm.Commandlets\Add-ZvmSslCheck_Add';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Add session
.Description
Add session
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/connect-zvm
#>

function Connect-Zvm {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Connect', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Runtime')]
    [System.String]
    # ZVM host/IP
    ${HostName},

    [Parameter(Position=1, Mandatory)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # User credentials
    ${Credential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter()]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Int32]
    # ZVM Port
    ${Port}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Connect = 'Zerto.Zvm.Commandlets\Connect-Zvm_Connect';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Remove session
.Description
Remove session
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/disconnect-zvm
#>

function Disconnect-Zvm {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Disconnect', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Disconnect = 'Zerto.Zvm.Commandlets\Disconnect-Zvm_Disconnect';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of acceptable values for alert help identifiers.
.Description
Returns the list of acceptable values for alert help identifiers.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmalerthelpid
#>

function Get-ZvmAlertHelpId {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmAlertHelpId_Get';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of acceptable values for alert levels.
.Description
Returns the list of acceptable values for alert levels.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmalertlevel
#>

function Get-ZvmAlertLevel {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmAlertLevel_Get';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of all alerts on the site.
.Description
Returns the list of all alerts on the site.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IAlertApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmalert
#>

function Get-ZvmAlert {
[OutputType([Zerto.Zvm.Models.IAlertApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get1', Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${AlertId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${EndDate},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Entity},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${HelpId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${IsDismissed},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Level},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${SiteId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${StartDate},

    [Parameter(ParameterSetName='Get', Position=0)]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${ZorgId},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmAlert_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmAlert_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of acceptable values for event types.
.Description
Returns the list of acceptable values for event types.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmeventtype
#>

function Get-ZvmEventType {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmEventType_Get';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of all events on the site processing the API.
Per event, shows summary information.
.Description
Returns the list of all events on the site processing the API.
Per event, shows summary information.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IEventApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmevent
#>

function Get-ZvmEvent {
[OutputType([Zerto.Zvm.Models.IEventApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get1', Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${EventId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${AlertId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Category},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${EndDate},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${EntityType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${EventCategory},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${EventType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${SiteId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${SiteName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${StartDate},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${UserName},

    [Parameter(ParameterSetName='Get', Position=0)]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VpgName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${ZorgId},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmEvent_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmEvent_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the license details of a ZVM
.Description
Returns the license details of a ZVM
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.ILicenseApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmlicense
#>

function Get-ZvmLicense {
[OutputType([Zerto.Zvm.Models.ILicenseApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmLicense_Get';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns a local site API
.Description
Returns a local site API
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.ILocalSiteApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmlocalsite
#>

function Get-ZvmLocalSite {
[OutputType([Zerto.Zvm.Models.ILocalSiteApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmLocalSite_Get';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Generate token
.Description
Generate token
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IPairingTokenResult
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmpairingtoken
#>

function Get-ZvmPairingToken {
[OutputType([Zerto.Zvm.Models.IPairingTokenResult])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmPairingToken_Get';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of all peer sites of the site processing the API.
.Description
Returns the list of all peer sites of the site processing the API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IPeerSiteApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmpeer
#>

function Get-ZvmPeer {
[OutputType([Zerto.Zvm.Models.IPeerSiteApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get1', Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${SiteId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${HostName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Location},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${PairingStatus},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${PeerName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.Int32]
    # .
    ${Port},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmPeer_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmPeer_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of all tasks running on the site processing the API.
.Description
Returns the list of all tasks running on the site processing the API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.ITaskApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmtask
#>

function Get-ZvmTask {
[OutputType([Zerto.Zvm.Models.ITaskApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get1', Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${TaskId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${CompletedAfterDate},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${CompletedBeforeDate},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${StartedAfterDate},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${StartedBeforeDate},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Status},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Type},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmTask_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmTask_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of datastores for a specified virtualization site.
.Description
Returns the list of datastores for a specified virtualization site.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IDatastoreNativeApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmvirtualizationsitedatastore
#>

function Get-ZvmVirtualizationSiteDatastore {
[OutputType([Zerto.Zvm.Models.IDatastoreNativeApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmVirtualizationSiteDatastore_Get';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of hosts at a specified virtualization site.
.Description
Returns the list of hosts at a specified virtualization site.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IHostNativeApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmvirtualizationsitehost
#>

function Get-ZvmVirtualizationSiteHost {
[OutputType([Zerto.Zvm.Models.IHostNativeApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get1', Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${HostId},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmVirtualizationSiteHost_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmVirtualizationSiteHost_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of all virtualization sites available.
.Description
Returns the list of all virtualization sites available.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IVirtualizationSiteApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmvirtualizationsite
#>

function Get-ZvmVirtualizationSite {
[OutputType([Zerto.Zvm.Models.IVirtualizationSiteApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmVirtualizationSite_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmVirtualizationSite_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns information on all protected VMs matching the specified filtering parameters.
.Description
Returns information on all protected VMs matching the specified filtering parameters.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IVMApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmvm
#>

function Get-ZvmVm {
[OutputType([Zerto.Zvm.Models.IVMApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(Position=0)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VmId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${OrgName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Priority},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${ProtectedSiteId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${ProtectedSiteType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${RecoverySiteId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${RecoverySiteType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${SourceSite},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${SourceType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Status},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${SubStatus},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${TargetSite},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${TargetType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VmName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VpgName},

    [Parameter(ParameterSetName='Get1')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmVm_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmVm_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of all checkpoints for a specified virtual protection group (VPG).
.Description
Returns the list of all checkpoints for a specified virtual protection group (VPG).
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.ICheckpointApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmvpgcheckpoint
#>

function Get-ZvmVpgCheckpoint {
[OutputType([Zerto.Zvm.Models.ICheckpointApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(ParameterSetName='Get1', Position=1, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${CheckpointId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${EndDate},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.DateTime]
    # .
    ${StartDate},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmVpgCheckpoint_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmVpgCheckpoint_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of all virtual protection groups (VPGs) protected on the site processing the API.
.Description
Returns the list of all virtual protection groups (VPGs) protected on the site processing the API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IVpgApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmvpg
#>

function Get-ZvmVpg {
[OutputType([Zerto.Zvm.Models.IVpgApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get1', Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${BackupEnabled},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${OrgName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Priority},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${ProtectedSiteId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${ProtectedSiteType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${RecoverySiteId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${RecoverySiteType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${ServiceProfile},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${SourceSite},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${SourceType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Status},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${SubStatus},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${TargetSite},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${TargetType},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VpgName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${ZorgId},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmVpg_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmVpg_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Returns the list of all Vras on the site processing the API.
.Description
Returns the list of all Vras on the site processing the API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
Zerto.Zvm.Models.IVraApi
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/get-zvmvra
#>

function Get-ZvmVra {
[OutputType([Zerto.Zvm.Models.IVraApi])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get1', Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VraId},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${DatastoreClusterName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${DatastoreName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${HostVersion},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${IPAddress},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${NetworkName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${Status},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VraGroup},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VraIPConfigurationTypeApi},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VraName},

    [Parameter(ParameterSetName='Get')]
    [Zerto.Zvm.Category('Query')]
    [System.String]
    # .
    ${VraVersion},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Get = 'Zerto.Zvm.Commandlets\Get-ZvmVra_Get';
            Get1 = 'Zerto.Zvm.Commandlets\Get-ZvmVra_Get1';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Removes SSL certificate check
.Description
Removes SSL certificate check
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/remove-zvmsslcheck
#>

function Remove-ZvmSslCheck {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Remove', PositionalBinding=$false)]
param()

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Remove = 'Zerto.Zvm.Commandlets\Remove-ZvmSslCheck_Remove';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Sets the license for a ZVM
.Description
Sets the license for a ZVM
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Zerto.Zvm.Models.ILicenseKeyApi
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODY <ILicenseKeyApi>: .
  [LicenseKey <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/set-zvmlicense
#>

function Set-ZvmLicense {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='SetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Set', Mandatory, ValueFromPipeline)]
    [Zerto.Zvm.Category('Body')]
    [Zerto.Zvm.Models.ILicenseKeyApi]
    # .
    # To construct, see NOTES section for BODY properties and create a hash table.
    ${Body},

    [Parameter(ParameterSetName='SetExpanded', Position=0, Mandatory)]
    [Zerto.Zvm.Category('Body')]
    [System.String]
    # .
    ${LicenseKey},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Set = 'Zerto.Zvm.Commandlets\Set-ZvmLicense_Set';
            SetExpanded = 'Zerto.Zvm.Commandlets\Set-ZvmLicense_SetExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Starts Pairing to a remote site
.Description
Starts Pairing to a remote site
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Zerto.Zvm.Models.IPairDataApi
.Outputs
System.String
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODY <IPairDataApi>: .
  [HostName <String>]:
  [Port <Int32?>]:
  [Token <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/start-zvmpair
#>

function Start-ZvmPair {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='StartExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Start', Mandatory, ValueFromPipeline)]
    [Zerto.Zvm.Category('Body')]
    [Zerto.Zvm.Models.IPairDataApi]
    # .
    # To construct, see NOTES section for BODY properties and create a hash table.
    ${Body},

    [Parameter(ParameterSetName='StartExpanded', Position=0, Mandatory)]
    [Zerto.Zvm.Category('Body')]
    [System.String]
    # .
    ${HostName},

    [Parameter(ParameterSetName='StartExpanded', Position=1, Mandatory)]
    [Zerto.Zvm.Category('Body')]
    [System.Int32]
    # .
    ${Port},

    [Parameter(ParameterSetName='StartExpanded', Position=2, Mandatory)]
    [Zerto.Zvm.Category('Body')]
    [System.String]
    # .
    ${Token},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Start = 'Zerto.Zvm.Commandlets\Start-ZvmPair_Start';
            StartExpanded = 'Zerto.Zvm.Commandlets\Start-ZvmPair_StartExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Starts cloning a specified virtual protection group (VPG) using a specified checkpoint or the latest checkpoint if one is not specified.
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Description
Starts cloning a specified virtual protection group (VPG) using a specified checkpoint or the latest checkpoint if one is not specified.
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Zerto.Zvm.Models.ICloneStartDataApi
.Outputs
System.String
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODY <ICloneStartDataApi>: .
  [CheckpointId <String>]:
  [DatastoreIdentifier <String>]:
  [VmIdentifiers <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/start-zvmvpgclone
#>

function Start-ZvmVpgClone {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='StartExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(ParameterSetName='Start', Mandatory, ValueFromPipeline)]
    [Zerto.Zvm.Category('Body')]
    [Zerto.Zvm.Models.ICloneStartDataApi]
    # .
    # To construct, see NOTES section for BODY properties and create a hash table.
    ${Body},

    [Parameter(ParameterSetName='StartExpanded', Position=1)]
    [Zerto.Zvm.Category('Body')]
    [System.String]
    # .
    ${CheckpointId},

    [Parameter(ParameterSetName='StartExpanded', Position=2)]
    [Zerto.Zvm.Category('Body')]
    [System.String]
    # .
    ${DatastoreId},

    [Parameter(ParameterSetName='StartExpanded')]
    [Zerto.Zvm.Category('Body')]
    [System.String[]]
    # .
    ${VmIdentifiers},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Start = 'Zerto.Zvm.Commandlets\Start-ZvmVpgClone_Start';
            StartExpanded = 'Zerto.Zvm.Commandlets\Start-ZvmVpgClone_StartExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Delete VPG.
Returns TaskIdentifier of delete task.
.Description
Delete VPG.
Returns TaskIdentifier of delete task.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Zerto.Zvm.Models.IVpgDeleteDataApi
.Outputs
System.String
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODY <IVpgDeleteDataApi>: .
  [Force <Boolean?>]:
  [KeepRecoveryVolumes <Boolean?>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/start-zvmvpgdelete
#>

function Start-ZvmVpgDelete {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='StartExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(ParameterSetName='Start', Mandatory, ValueFromPipeline)]
    [Zerto.Zvm.Category('Body')]
    [Zerto.Zvm.Models.IVpgDeleteDataApi]
    # .
    # To construct, see NOTES section for BODY properties and create a hash table.
    ${Body},

    [Parameter(ParameterSetName='StartExpanded')]
    [Zerto.Zvm.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${Force},

    [Parameter(ParameterSetName='StartExpanded')]
    [Zerto.Zvm.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${KeepRecoveryVolumes},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Start = 'Zerto.Zvm.Commandlets\Start-ZvmVpgDelete_Start';
            StartExpanded = 'Zerto.Zvm.Commandlets\Start-ZvmVpgDelete_StartExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Starts a failover test failover of a specified virtual protection group (VPG) with a specified checkpoint.
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Description
Starts a failover test failover of a specified virtual protection group (VPG) with a specified checkpoint.
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Zerto.Zvm.Models.IFailOverTestStartDataApi
.Outputs
System.String
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODY <IFailOverTestStartDataApi>: .
  [CheckpointIdentifier <String>]:
  [VmIdentifiers <String[]>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/start-zvmvpgfailovertest
#>

function Start-ZvmVpgFailoverTest {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='StartExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(ParameterSetName='Start', Mandatory, ValueFromPipeline)]
    [Zerto.Zvm.Category('Body')]
    [Zerto.Zvm.Models.IFailOverTestStartDataApi]
    # .
    # To construct, see NOTES section for BODY properties and create a hash table.
    ${Body},

    [Parameter(ParameterSetName='StartExpanded')]
    [Zerto.Zvm.Category('Body')]
    [System.String]
    # .
    ${CheckpointId},

    [Parameter(ParameterSetName='StartExpanded')]
    [Zerto.Zvm.Category('Body')]
    [System.String[]]
    # .
    ${VmIdentifiers},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Start = 'Zerto.Zvm.Commandlets\Start-ZvmVpgFailoverTest_Start';
            StartExpanded = 'Zerto.Zvm.Commandlets\Start-ZvmVpgFailoverTest_StartExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Forces synchronize a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Description
Forces synchronize a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/start-zvmvpgforcesync
#>

function Start-ZvmVpgForceSync {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='Start', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Start = 'Zerto.Zvm.Commandlets\Start-ZvmVpgForceSync_Start';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Pauses the protection of a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Description
Pauses the protection of a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/start-zvmvpgpause
#>

function Start-ZvmVpgPause {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='Start', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Start = 'Zerto.Zvm.Commandlets\Start-ZvmVpgPause_Start';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Resumes the protection of a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Description
Resumes the protection of a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.String
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/start-zvmvpgresume
#>

function Start-ZvmVpgResume {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='Start', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Start = 'Zerto.Zvm.Commandlets\Start-ZvmVpgResume_Start';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Inserts a tag (text) to a new checkpoint of a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Description
Inserts a tag (text) to a new checkpoint of a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Zerto.Zvm.Models.IVpgInsertTagCheckpointDataApi
.Outputs
System.String
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODY <IVpgInsertTagCheckpointDataApi>: .
  [CheckpointName <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/start-zvmvpgtaggedcheckpointinsert
#>

function Start-ZvmVpgTaggedCheckpointInsert {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='StartExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(ParameterSetName='Start', Mandatory, ValueFromPipeline)]
    [Zerto.Zvm.Category('Body')]
    [Zerto.Zvm.Models.IVpgInsertTagCheckpointDataApi]
    # .
    # To construct, see NOTES section for BODY properties and create a hash table.
    ${Body},

    [Parameter(ParameterSetName='StartExpanded', Position=1)]
    [Zerto.Zvm.Category('Body')]
    [System.String]
    # .
    ${CheckpointName},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Start = 'Zerto.Zvm.Commandlets\Start-ZvmVpgTaggedCheckpointInsert_Start';
            StartExpanded = 'Zerto.Zvm.Commandlets\Start-ZvmVpgTaggedCheckpointInsert_StartExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Start the execution of the change recovery host operation.
.Description
Start the execution of the change recovery host operation.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Zerto.Zvm.Models.IVraChangeRecoveryHostSettingsApi
.Outputs
System.String
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODY <IVraChangeRecoveryHostSettingsApi>: .
  [VmsAllocations <IVraVMAllocationApi[]>]:
    [HostIdentifier <String>]:
    [VmIdentifier <String>]:
 
VMSALLOCATIONS <IVraVMAllocationApi[]>: .
  [HostIdentifier <String>]:
  [VmIdentifier <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/start-zvmvrachangerecoveryhost
#>

function Start-ZvmVraChangeRecoveryHost {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='Start', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VraId},

    [Parameter(ParameterSetName='Start', Mandatory, ValueFromPipeline)]
    [Zerto.Zvm.Category('Body')]
    [Zerto.Zvm.Models.IVraChangeRecoveryHostSettingsApi]
    # .
    # To construct, see NOTES section for BODY properties and create a hash table.
    ${Body},

    [Parameter(ParameterSetName='StartExpanded', Position=1, Mandatory)]
    [Zerto.Zvm.Category('Body')]
    [Zerto.Zvm.Models.IVraVMAllocationApi[]]
    # .
    # To construct, see NOTES section for VMSALLOCATIONS properties and create a hash table.
    ${VmsAllocations},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Start = 'Zerto.Zvm.Commandlets\Start-ZvmVraChangeRecoveryHost_Start';
            StartExpanded = 'Zerto.Zvm.Commandlets\Start-ZvmVraChangeRecoveryHost_StartExpanded';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Aborts cloning of a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Description
Aborts cloning of a specified virtual protection group (VPG).
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Outputs
System.Boolean
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/stop-zvmvpgclone
#>

function Stop-ZvmVpgClone {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Stop', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Stop = 'Zerto.Zvm.Commandlets\Stop-ZvmVpgClone_Stop';
        }
        $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
    }
}
}

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Stops a failover test, after supplying whether the test was successful and an optional summary.
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Description
Stops a failover test, after supplying whether the test was successful and an optional summary.
Returns the task identifier of the operation, which can be used to monitor the operation using the Tasks API.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Zerto.Zvm.Models.IStopFailoverTestDataApi
.Outputs
System.String
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODY <IStopFailoverTestDataApi>: .
  [FailoverTestSuccess <Boolean?>]:
  [FailoverTestSummary <String>]:
.Link
https://docs.microsoft.com/en-us/powershell/module/zerto.zvm.commandlets/stop-zvmvpgfailovertest
#>

function Stop-ZvmVpgFailoverTest {
[OutputType([System.String])]
[CmdletBinding(DefaultParameterSetName='StopExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(Position=0, Mandatory)]
    [Zerto.Zvm.Category('Path')]
    [System.String]
    # .
    ${VpgId},

    [Parameter(ParameterSetName='Stop', Mandatory, ValueFromPipeline)]
    [Zerto.Zvm.Category('Body')]
    [Zerto.Zvm.Models.IStopFailoverTestDataApi]
    # .
    # To construct, see NOTES section for BODY properties and create a hash table.
    ${Body},

    [Parameter(ParameterSetName='StopExpanded')]
    [Zerto.Zvm.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # .
    ${FailoverTestSuccess},

    [Parameter(ParameterSetName='StopExpanded', Position=1)]
    [Zerto.Zvm.Category('Body')]
    [System.String]
    # .
    ${FailoverTestSummary},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [Zerto.Zvm.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Zerto.Zvm.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Stop = 'Zerto.Zvm.Commandlets\Stop-ZvmVpgFailoverTest_Stop';
            StopExpanded = 'Zerto.Zvm.Commandlets\Stop-ZvmVpgFailoverTest_StopExpanded';
        }
        $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
    }
}
}

# SIG # Begin signature block
# MIIZdwYJKoZIhvcNAQcCoIIZaDCCGWQCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCC7xY+Sij/+Pbzl
# MmwS7Fn9wHYWvcwLeBJiABqoHGbs56CCCfYwggTQMIIDuKADAgECAgEHMA0GCSqG
# SIb3DQEBCwUAMIGDMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEG
# A1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5jb20sIEluYy4xMTAv
# BgNVBAMTKEdvIERhZGR5IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIw
# HhcNMTEwNTAzMDcwMDAwWhcNMzEwNTAzMDcwMDAwWjCBtDELMAkGA1UEBhMCVVMx
# EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
# EUdvRGFkZHkuY29tLCBJbmMuMS0wKwYDVQQLEyRodHRwOi8vY2VydHMuZ29kYWRk
# eS5jb20vcmVwb3NpdG9yeS8xMzAxBgNVBAMTKkdvIERhZGR5IFNlY3VyZSBDZXJ0
# aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
# AQoCggEBALngyxDUr3a91JNi6zBkuIEIbMME2WIXji//PmXPj85i5jxSHNoWRUtV
# q3hrY4NikM4PaWyZyBoUi0zMRTPqiNyeo68r/oBhnXlXxM8u9D8wPF1H/JoWvMM3
# lkFRjhFLVPgovtCMvvAwOB7zsCb4Zkdjbd5xJkePOEdT0UYdtOPcAOpFrL28cdmq
# bwDb280wOnlPX0xH+B3vW8LEnWA7sbJDkdikM07qs9YnT60liqXG9NXQpq50BWRX
# iLVEVdQtKjo++Li96TIKApRkxBY6UPFKrud5M68MIAd/6N8EOcJpAmxjUvp3wRvI
# dIfIuZMYUFQ1S2lOvDvTSS4f3MHSUvsCAwEAAaOCARowggEWMA8GA1UdEwEB/wQF
# MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRAwr0njsw0gzCiM9f7bLPw
# tCyAzjAfBgNVHSMEGDAWgBQ6moUHEGcotu/2vQVBbiDBlNoP3jA0BggrBgEFBQcB
# AQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdvZGFkZHkuY29tLzA1BgNV
# HR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLmdvZGFkZHkuY29tL2dkcm9vdC1nMi5j
# cmwwRgYDVR0gBD8wPTA7BgRVHSAAMDMwMQYIKwYBBQUHAgEWJWh0dHBzOi8vY2Vy
# dHMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeS8wDQYJKoZIhvcNAQELBQADggEBAAh+
# bJMQyDi4lqmQS/+hX08E72w+nIgGyVCPpnP3VzEbvrzkL9v4utNb4LTn5nliDgyi
# 12pjczG19ahIpDsILaJdkNe0fCVPEVYwxLZEnXssneVe5u8MYaq/5Cob7oSeuIN9
# wUPORKcTcA2RH/TIE62DYNnYcqhzJB61rCIOyheJYlhEG6uJJQEAD83EG2LbUbTT
# D1Eqm/S8c/x2zjakzdnYLOqum/UqspDRTXUYij+KQZAjfVtL/qQDWJtGssNgYIP4
# fVBBzsKhkMO77wIv0hVU7kQV2Qqup4oz7bEtdjYm3ATrn/dhHxXch2/uRpYoraEm
# fQoJpy4Eo428+LwEMAEwggUeMIIEBqADAgECAgh7YCVvRvteKjANBgkqhkiG9w0B
# AQsFADCBtDELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcT
# ClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMS0wKwYDVQQL
# EyRodHRwOi8vY2VydHMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeS8xMzAxBgNVBAMT
# KkdvIERhZGR5IFNlY3VyZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjAeFw0y
# MDA2MzAxNzEwNDdaFw0yMzA2MjkyMDA1NTZaMGAxCzAJBgNVBAYTAlVTMRYwFAYD
# VQQIEw1NYXNzYWNodXNldHRzMQ8wDQYDVQQHEwZCb3N0b24xEzARBgNVBAoTClpl
# cnRvIEluYy4xEzARBgNVBAMTClplcnRvIEluYy4wggEiMA0GCSqGSIb3DQEBAQUA
# A4IBDwAwggEKAoIBAQC9mGJzFxD5ndK+EvxPZO761iGqoLqpkd1nDIqL7krhtq5T
# B1D9xUwbCopzMWIq1tlETh6s3juGJIa3NrClHk5Qz/+RMJ7aMaGSwUUwwNx/U5YH
# kNk6ls31X16PGsGpeZ7tz0xlh5DojClwrxeHAVMoxlT0linJh9Z5uMEUIKw4nwk1
# yUHgrdS65RYVUVRdSjJNiY+nEM1S8rRnJ0NiRIEMk8pQRBYmX/qKjLGVm68prkdk
# NKGorUiHNNDbLOlGj/9tcEEV5/cIanTTOQsmoW82BY/eaqcSDGt7rVv3DJslcxJV
# //lGzxZTuytsrlrcSSFh3WVyd1Z/aJnEMW+bGHB1AgMBAAGjggGFMIIBgTAMBgNV
# HRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA4GA1UdDwEB/wQEAwIHgDA1
# BgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLmdvZGFkZHkuY29tL2dkaWcyczUt
# NS5jcmwwXQYDVR0gBFYwVDBIBgtghkgBhv1tAQcXAjA5MDcGCCsGAQUFBwIBFito
# dHRwOi8vY2VydGlmaWNhdGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMAgGBmeB
# DAEEATB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdv
# ZGFkZHkuY29tLzBABggrBgEFBQcwAoY0aHR0cDovL2NlcnRpZmljYXRlcy5nb2Rh
# ZGR5LmNvbS9yZXBvc2l0b3J5L2dkaWcyLmNydDAfBgNVHSMEGDAWgBRAwr0njsw0
# gzCiM9f7bLPwtCyAzjAdBgNVHQ4EFgQUmmwq/FeoliXfj/kHU/9bpisneHAwDQYJ
# KoZIhvcNAQELBQADggEBADJIbVQcQuI47wLJosloqjq1lbAw9TRBHpJNmVFgwhtE
# 1TPAnx66dhw7wKUeVlcwAq8X33yYfPDih38PCyjpi/fFz5++yHvbmQBkHCi655eE
# W4Ls3WTDy7fNVSodHTNrMffMC3MfrL0xvbvPHmNln1LwTR+tW4Haalc3rH2HvT7Y
# zL5MShsDFnTq2Y7c4sdDtH6TO0j8xSKNBMgv3bg9Iaqz6Rd7/jnzAniqdY0qSU8I
# AvIht5U1RlfTgEjOjLYVDIF5WYkBkB7Qota3k4+RoYQqWJNHbnAJHYKDDrLfc+mz
# QRTuPcX9DjhqAmWZeS0S6Sbqi5Z+J0l8Ej+839PIYOMxgg7XMIIO0wIBATCBwTCB
# tDELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0
# c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMS0wKwYDVQQLEyRodHRw
# Oi8vY2VydHMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeS8xMzAxBgNVBAMTKkdvIERh
# ZGR5IFNlY3VyZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMgIIe2Alb0b7Xiow
# DQYJYIZIAWUDBAIBBQCgfDAQBgorBgEEAYI3AgEMMQIwADAZBgkqhkiG9w0BCQMx
# DAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkq
# hkiG9w0BCQQxIgQgP9T1GTxAcACV0ND/6CosjFMt6JTnlx186rLCfGkYYhYwDQYJ
# KoZIhvcNAQEBBQAEggEARgAFcucZZzU5hYatX/FBXtU1BIc4pJfXDh1I0AFzGpai
# UVapp07+nNK8SAACbQU7HaZIFQjS5wFhR2sJUs81USwAp1+0OU8Hh/cQGu+jAGkC
# UB9cB93ihNyTjTR4B2RPP+Yzd2ZLc0KU7nyvf75RHGAXUieEnqcN/ZGL88m/DU72
# fu6hf78mCwDFiPTfphGLs+4UbVAHcEekU0EcGI/mrLj8fMVW0FBPM2a2sFnEh3E5
# 3WJ9aRxgQa6cZW4roo56NwRncS2sSppvvD/fp/n1yxIxzPwFmdEmnUH9bx2Cqnl2
# 4O58aecLXfT9KEgH8AytJxBuyO4LuBtIRNhDk151KKGCDGgwggxkBgorBgEEAYI3
# AwMBMYIMVDCCDFAGCSqGSIb3DQEHAqCCDEEwggw9AgEDMQswCQYFKw4DAhoFADCB
# 3QYLKoZIhvcNAQkQAQSggc0EgcowgccCAQEGCSsGAQQBoDICAjAxMA0GCWCGSAFl
# AwQCAQUABCA+rB6Ej244wnS/PWWfDkQUG2cVAt3VBtnd2UayKCCRRwIURTMCgitk
# bZYOSY0HNL6oKxqJuLoYDzIwMjAxMjA4MTMxMzM2WqBdpFswWTELMAkGA1UEBhMC
# U0cxHzAdBgNVBAoTFkdNTyBHbG9iYWxTaWduIFB0ZSBMdGQxKTAnBgNVBAMTIEds
# b2JhbFNpZ24gVFNBIGZvciBTdGFuZGFyZCAtIEcyoIIItDCCBJgwggOAoAMCAQIC
# EhEhtFU1Hrsask+X7wf+KrMLijANBgkqhkiG9w0BAQUFADBSMQswCQYDVQQGEwJC
# RTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMfR2xvYmFsU2ln
# biBUaW1lc3RhbXBpbmcgQ0EgLSBHMjAeFw0xNjA1MjQwMDAwMDBaFw0yNzA2MjQw
# MDAwMDBaMFkxCzAJBgNVBAYTAlNHMR8wHQYDVQQKExZHTU8gR2xvYmFsU2lnbiBQ
# dGUgTHRkMSkwJwYDVQQDEyBHbG9iYWxTaWduIFRTQSBmb3IgU3RhbmRhcmQgLSBH
# MjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKS2wkxFDuKwbCWegnd0
# D03EeaHnTTdTeDRvhsq7pDK0LcEqqmP79Wv/uClZiRE/23o6OMKOKYEj1DMNIKXk
# FDFkjP6obOUSP9icmJaehb3e74bAGr7L0421Uucl2i0CcXIk96zeY8RrOeY09ELJ
# Huss9RRMmXh928/0iqOIWqHkOHm6P4k+EdmOUu7OJ5ng7FioHrIU+Gi6by0A1JIJ
# QBrZAuacJVrQuNNy3w5sqf31nd2ggxt6gZhAUPFgtjBrJZXbutyB3vqPjMNYsg8u
# 9bCYNwHOCh338byrm0CtdI9wlCWfC8q0/841lwB72VqBacLayaF1uh7OxBc1G7HL
# y00CAwEAAaOCAV8wggFbMA4GA1UdDwEB/wQEAwIHgDBMBgNVHSAERTBDMEEGCSsG
# AQQBoDIBHjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNv
# bS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMI
# MEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vZ3Mv
# Z3N0aW1lc3RhbXBpbmdnMi5jcmwwVAYIKwYBBQUHAQEESDBGMEQGCCsGAQUFBzAC
# hjhodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc3RpbWVzdGFt
# cGluZ2cyLmNydDAdBgNVHQ4EFgQUTzVBtflKks5IKVBLAyyzd/oqQLQwHwYDVR0j
# BBgwFoAURtg+/9zjvv+D5vSFm7DdatYUqcEwDQYJKoZIhvcNAQEFBQADggEBAC6m
# 8DqEd4WIZicS+vYtTX+/U6dKq9kpeRmdtvkd4m3PLNa4apBxqqsGHuCs73qPms3s
# 5zmiTOlE1QjU2173fI+LAfwGf2F0yCPV8ejQ7J2ClAyHxp7aW3cJWEDKPxcSGVi5
# m2ojGPqyLGuBmrlfKaWZC7x26KuBbPzvt9SOYSRoUZxCL96boizBXd4qInuRfljo
# 1SNDczwSDgUXFFtvKiKCc1F/ba/RizmUJ2ygkpSZEkvJxHEbjId39xGXWcuABbPL
# MDg+ZkPVWQDZBQ28WX1Q/aYh9JkMIRcBO/9GnCz2LdRr/FV6OGh0iCVqWf3krRUO
# L5rdBnl0ZfYPEPJhFmEwggQUMIIC/KADAgECAgsEAAAAAAEvTuFS1zANBgkqhkiG
# 9w0BAQUFADBXMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1z
# YTEQMA4GA1UECxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENB
# MB4XDTExMDQxMzEwMDAwMFoXDTI4MDEyODEyMDAwMFowUjELMAkGA1UEBhMCQkUx
# GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExKDAmBgNVBAMTH0dsb2JhbFNpZ24g
# VGltZXN0YW1waW5nIENBIC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
# AoIBAQCU72X4tVefoFMNNAbrCR+3Rxhqy/Bb5P8npTTR94kav56xzRJBbmbUgaCF
# i2RaRi+ZoI13seK8XN0i12pn0LvoynTei08NsFLlkFvrRw7x55+cC5BlPheWMEVy
# bTmhFzbKuaCMG08IGfaBMa1hFqRi5rRAnsP8+5X2+7UulYGY4O/F69gCWXh396rj
# UmtQkSnF/PfNk2XSYGEi8gb7Mt0WUfoO/Yow8BcJp7vzBK6rkOds33qp9O/EYidf
# b5ltOHSqEYva38cUTOmFsuzCfUomj+dWuqbgz5JTgHT0A+xosmC8hCAAgxuh7rR0
# BcEpjmLQR7H68FPMGPkuO/lwfrQlAgMBAAGjgeUwgeIwDgYDVR0PAQH/BAQDAgEG
# MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFEbYPv/c477/g+b0hZuw3WrW
# FKnBMEcGA1UdIARAMD4wPAYEVR0gADA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3
# dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAzBgNVHR8ELDAqMCigJqAkhiJo
# dHRwOi8vY3JsLmdsb2JhbHNpZ24ubmV0L3Jvb3QuY3JsMB8GA1UdIwQYMBaAFGB7
# ZhpFDZfKiVAvfQTNNKj//P1LMA0GCSqGSIb3DQEBBQUAA4IBAQBOXlaQHka02Ukx
# 87sXOSgbwhbd/UHcCQUEm2+yoprWmS5AmQBVteo/pSB204Y01BfMVTrHgu7vqLq8
# 2AafFVDfzRZ7UjoC1xka/a/weFzgS8UY3zokHtqsuKlYBAIHMNuwEl7+Mb7wBEj0
# 8HD4Ol5Wg889+w289MXtl5251NulJ4TjOJuLpzWGRCCkO22kaguhg/0o69rvKPbM
# iF37CjsAq+Ah6+IvNWwPjjRFl+ui95kzNX7Lmoq7RU3nP5/C2Yr6ZbJux35l/+iS
# 4SwxovewJzZIjyZvO+5Ndh95w+V/ljW8LQ7MAbCOf/9RgICnktSzREZkjIdPFmMH
# MUtjsN/zMYICkTCCAo0CAQEwaDBSMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xv
# YmFsU2lnbiBudi1zYTEoMCYGA1UEAxMfR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcg
# Q0EgLSBHMgISESG0VTUeuxqyT5fvB/4qswuKMAkGBSsOAwIaBQCggf8wGgYJKoZI
# hvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yMDEyMDgxMzEz
# MzZaMCMGCSqGSIb3DQEJBDEWBBR0muP1EfpZMxfuRI5ZN+zLFJlBmzCBnQYLKoZI
# hvcNAQkQAgwxgY0wgYowgYcwgYQEFIP94bp2/vVSkbUNaGGQbapFtYy1MGwwVqRU
# MFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSgwJgYD
# VQQDEx9HbG9iYWxTaWduIFRpbWVzdGFtcGluZyBDQSAtIEcyAhIRIbRVNR67GrJP
# l+8H/iqzC4owDQYJKoZIhvcNAQEBBQAEggEATZCDJTujeStS4U05MvAPmReSXPs9
# k6Gf2c9v6K49mTE5RVjIa/hZVv+YCMy2I+517hyP9+O4aDQemwnHVk6o5gSFns2Z
# +H6LDORCKVcz1Xrzzj7mtjBOQziECCJ0PLvZQ/SNogcLIdDYWFhZ+eLv1/BaoCJC
# GUDElW2ZrBP0Oa9Xl/ntKCl5Po4vFfs54PJl84LwmZIec0sGHrkvI7/+VxOsoDYm
# LhCnIaC1zfe9/C1K6BvbHoGGRifHdnA+esXIoATX3FeIcEvTDE8qMkHQkEhNMqHA
# MC1OsQ6wbp/RqswO5uWZfuBGfoyeakbYZqqNplmPGWz6Qq0LS/DV/6bDVQ==
# SIG # End signature block