Api/PVENodesApi.ps1

#
# Proxmox VE
# Generated module to access all Proxmox VE Api Endpoints
# Version: 0.5
# Contact: amna.wolf@gmail.com
# Generated by OpenAPI Generator: https://openapi-generator.tech
#

<#
.SYNOPSIS

Cluster node index.

.DESCRIPTION

No description available.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesInner[]
#>

function Get-PVENodes {
    [CmdletBinding()]
    Param (
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodes' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes'

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get list of appliances.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesAplinfoByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesAplinfoByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/aplinfo'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesAplinfoByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index for apt (Advanced Package Tool).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

ClusterHaInner[]
#>

function Get-PVENodesAptByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesAptByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/apt'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesAptByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "ClusterHaInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get package changelogs.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesAptChangelogRB
Get package changelogs.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesAptChangelogByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesAptChangelogRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesAptChangelogByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/apt/changelog'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesAptChangelogByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesAptChangelogRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get APT repository information.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesAptRepositories
#>

function Get-PVENodesAptRepositoriesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesAptRepositoriesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/apt/repositories'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesAptRepositoriesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesAptRepositories" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List available updates.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesAptUpdateByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesAptUpdateByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/apt/update'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesAptUpdateByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get package information for important Proxmox packages.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesAptVersionsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesAptVersionsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/apt/versions'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesAptVersionsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Node index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Node capabilities index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesCapabilitiesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCapabilitiesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/capabilities'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCapabilitiesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

QEMU capabilities index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesCapabilitiesQemuByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCapabilitiesQemuByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/capabilities/qemu'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCapabilitiesQemuByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List all custom and default CPU models.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCapabilitiesQemuCpuInner[]
#>

function Get-PVENodesCapabilitiesQemuCpuByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCapabilitiesQemuCpuByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/capabilities/qemu/cpu'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCapabilitiesQemuCpuByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCapabilitiesQemuCpuInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get available QEMU/KVM machine types.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCapabilitiesQemuMachinesInner[]
#>

function Get-PVENodesCapabilitiesQemuMachinesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCapabilitiesQemuMachinesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/capabilities/qemu/machines'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCapabilitiesQemuMachinesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCapabilitiesQemuMachinesInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesCephByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesCephCfgByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephCfgByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/cfg'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephCfgByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get the Ceph configuration database.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephCfgDbInner[]
#>

function Get-PVENodesCephCfgDbByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephCfgDbByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/cfg/db'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephCfgDbByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephCfgDbInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get the Ceph configuration file.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesCephCfgRawByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephCfgRawByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/cfg/raw'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephCfgRawByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get configured values from either the config file or config DB.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesCephCfgValueRB
Get configured values from either the config file or config DB.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesCephCfgValueByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesCephCfgValueRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephCfgValueByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/cfg/value'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephCfgValueByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesCephCfgValueRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Heuristical check if it is safe to perform an action.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesCephCmdsafetyRB
Heuristical check if it is safe to perform an action.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephCmdsafety
#>

function Get-PVENodesCephCmdsafetyByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesCephCmdsafetyRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephCmdsafetyByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/cmd-safety'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephCmdsafetyByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesCephCmdsafetyRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephCmdsafety" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get OSD crush map

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesCephCrushByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephCrushByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/crush'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephCrushByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephFsInner[]
#>

function Get-PVENodesCephFsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephFsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/fs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephFsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephFsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read ceph log

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesCephLogRB
Read ceph log

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallLogInner[]
#>

function Get-PVENodesCephLogByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesCephLogRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephLogByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/log'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephLogByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesCephLogRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallLogInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

MDS directory index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephMdsInner[]
#>

function Get-PVENodesCephMdsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephMdsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/mds'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephMdsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephMdsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

MGR directory index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephMgrInner[]
#>

function Get-PVENodesCephMgrByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephMgrByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/mgr'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephMgrByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephMgrInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get Ceph monitor list.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephMonInner[]
#>

function Get-PVENodesCephMonByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephMonByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/mon'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephMonByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephMonInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get Ceph osd list/tree.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesCephOsdByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephOsdByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/osd'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephOsdByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

OSD index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Osdid
OSD ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesCephOsdByNodeAndOsdid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Osdid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephOsdByNodeAndOsdid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/osd/{osdid}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephOsdByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Osdid) {
            throw "Error! The required parameter `Osdid` missing when calling getNodesCephOsdByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{osdid}', [System.Web.HTTPUtility]::UrlEncode($Osdid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get OSD volume details

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Osdid
OSD ID

.PARAMETER GETNodesCephOsdLvinfoRB
Get OSD volume details

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephOsdLvinfo
#>

function Get-PVENodesCephOsdLvinfoByNodeAndOsdid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Osdid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesCephOsdLvinfoRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephOsdLvinfoByNodeAndOsdid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/osd/{osdid}/lv-info'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephOsdLvinfoByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Osdid) {
            throw "Error! The required parameter `Osdid` missing when calling getNodesCephOsdLvinfoByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{osdid}', [System.Web.HTTPUtility]::UrlEncode($Osdid))

        $LocalVarBodyParameter = $GETNodesCephOsdLvinfoRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephOsdLvinfo" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get OSD details

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Osdid
OSD ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephOsdMetadata
#>

function Get-PVENodesCephOsdMetadataByNodeAndOsdid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Osdid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephOsdMetadataByNodeAndOsdid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/osd/{osdid}/metadata'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephOsdMetadataByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Osdid) {
            throw "Error! The required parameter `Osdid` missing when calling getNodesCephOsdMetadataByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{osdid}', [System.Web.HTTPUtility]::UrlEncode($Osdid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephOsdMetadata" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List all pools and their settings (which are settable by the POST/PUT endpoints).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephPoolInner[]
#>

function Get-PVENodesCephPoolByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephPoolByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/pool'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephPoolByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephPoolInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Pool index.

.DESCRIPTION

No description available.

.PARAMETER Name
The name of the pool.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesCephPoolByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephPoolByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/pool/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling getNodesCephPoolByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephPoolByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Show the current pool status.

.DESCRIPTION

No description available.

.PARAMETER Name
The name of the pool. It must be unique.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesCephPoolStatusRB
Show the current pool status.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephPoolStatus
#>

function Get-PVENodesCephPoolStatusByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesCephPoolStatusRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephPoolStatusByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/pool/{name}/status'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling getNodesCephPoolStatusByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephPoolStatusByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesCephPoolStatusRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephPoolStatus" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List ceph rules.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCephRulesInner[]
#>

function Get-PVENodesCephRulesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephRulesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/rules'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephRulesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCephRulesInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get ceph status.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesCephStatusByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCephStatusByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/status'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCephStatusByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

ACME index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesCertificatesAcmeByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCertificatesAcmeByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/certificates/acme'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCertificatesAcmeByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Node index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesCertificatesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCertificatesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/certificates'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCertificatesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get information about node's certificates.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCertificatesInfoInner[]
#>

function Get-PVENodesCertificatesInfoByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesCertificatesInfoByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/certificates/info'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesCertificatesInfoByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCertificatesInfoInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get node configuration options.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesConfigRB
Get node configuration options.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesConfig
#>

function Get-PVENodesConfigByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesConfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesConfigByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesConfigByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesConfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesConfig" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Node index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesDisksByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesDisksByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesDisksByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

PVE Managed Directory storages.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesDisksDirectoryInner[]
#>

function Get-PVENodesDisksDirectoryByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesDisksDirectoryByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/directory'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesDisksDirectoryByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesDisksDirectoryInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List local disks.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesDisksListRB
List local disks.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesDisksListInner[]
#>

function Get-PVENodesDisksListByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesDisksListRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesDisksListByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/list'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesDisksListByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesDisksListRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesDisksListInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List LVM Volume Groups

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesDisksLvm
#>

function Get-PVENodesDisksLvmByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesDisksLvmByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/lvm'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesDisksLvmByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesDisksLvm" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List LVM thinpools

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesDisksLvmthinInner[]
#>

function Get-PVENodesDisksLvmthinByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesDisksLvmthinByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/lvmthin'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesDisksLvmthinByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesDisksLvmthinInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get SMART Health of a disk.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesDisksSmartRB
Get SMART Health of a disk.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesDisksSmart
#>

function Get-PVENodesDisksSmartByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesDisksSmartRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesDisksSmartByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/smart'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesDisksSmartByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesDisksSmartRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesDisksSmart" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List Zpools.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesDisksZfsGETInner[]
#>

function Get-PVENodesDisksZfsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesDisksZfsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/zfs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesDisksZfsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesDisksZfsGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get details about a zpool.

.DESCRIPTION

No description available.

.PARAMETER Name
The storage identifier.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesDisksZfs
#>

function Get-PVENodesDisksZfsByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesDisksZfsByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/zfs/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling getNodesDisksZfsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesDisksZfsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesDisksZfs" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read DNS settings.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesDns
#>

function Get-PVENodesDnsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesDnsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/dns'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesDnsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesDns" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesFirewallByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesFirewallByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/firewall'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesFirewallByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read firewall log

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesFirewallLogRB
Read firewall log

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallLogInner[]
#>

function Get-PVENodesFirewallLogByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesFirewallLogRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesFirewallLogByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/firewall/log'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesFirewallLogByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesFirewallLogRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallLogInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get host firewall options.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesFirewallOptions
#>

function Get-PVENodesFirewallOptionsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesFirewallOptionsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/firewall/options'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesFirewallOptionsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesFirewallOptions" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List rules.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

ClusterSdnVnetsFirewallRulesGETInner[]
#>

function Get-PVENodesFirewallRulesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesFirewallRulesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/firewall/rules'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesFirewallRulesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "ClusterSdnVnetsFirewallRulesGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get single rule data.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Pos
Update rule at position <pos>.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesFirewallRules
#>

function Get-PVENodesFirewallRulesByNodeAndPos {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Pos},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesFirewallRulesByNodeAndPos' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/firewall/rules/{pos}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesFirewallRulesByNodeAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Pos) {
            throw "Error! The required parameter `Pos` missing when calling getNodesFirewallRulesByNodeAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{pos}', [System.Web.HTTPUtility]::UrlEncode($Pos))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesFirewallRules" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Index of hardware types

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesHardwareInner[]
#>

function Get-PVENodesHardwareByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesHardwareByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/hardware'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesHardwareByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesHardwareInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List local PCI devices.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesHardwarePciRB
List local PCI devices.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesHardwarePciInner[]
#>

function Get-PVENodesHardwarePciByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesHardwarePciRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesHardwarePciByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/hardware/pci'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesHardwarePciByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesHardwarePciRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesHardwarePciInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Index of available pci methods

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PciIdOrMapping
No description available.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesHardwarePciGETInner[]
#>

function Get-PVENodesHardwarePciByNodeAndPciidormapping {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${PciIdOrMapping},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesHardwarePciByNodeAndPciidormapping' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/hardware/pci/{pci-id-or-mapping}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesHardwarePciByNodeAndPciidormapping."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$PciIdOrMapping) {
            throw "Error! The required parameter `PciIdOrMapping` missing when calling getNodesHardwarePciByNodeAndPciidormapping."
        }
        $LocalVarUri = $LocalVarUri.replace('{pci-id-or-mapping}', [System.Web.HTTPUtility]::UrlEncode($PciIdOrMapping))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesHardwarePciGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List mediated device types for given PCI device.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PciIdOrMapping
The PCI ID or mapping to list the mdev types for.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesHardwarePciMdevInner[]
#>

function Get-PVENodesHardwarePciMdevByNodeAndPciidormapping {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${PciIdOrMapping},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesHardwarePciMdevByNodeAndPciidormapping' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/hardware/pci/{pci-id-or-mapping}/mdev'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesHardwarePciMdevByNodeAndPciidormapping."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$PciIdOrMapping) {
            throw "Error! The required parameter `PciIdOrMapping` missing when calling getNodesHardwarePciMdevByNodeAndPciidormapping."
        }
        $LocalVarUri = $LocalVarUri.replace('{pci-id-or-mapping}', [System.Web.HTTPUtility]::UrlEncode($PciIdOrMapping))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesHardwarePciMdevInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List local USB devices.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesHardwareUsbInner[]
#>

function Get-PVENodesHardwareUsbByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesHardwareUsbByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/hardware/usb'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesHardwareUsbByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesHardwareUsbInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get the content of /etc/hosts.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesHosts
#>

function Get-PVENodesHostsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesHostsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/hosts'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesHostsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesHosts" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read Journal

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesJournalRB
Read Journal

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesJournalByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesJournalRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesJournalByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/journal'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesJournalByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesJournalRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

LXC container index (per node).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcInner[]
#>

function Get-PVENodesLxcByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesLxcByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/lxc/{vmid}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get container configuration.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesLxcConfigRB
Get container configuration.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcConfig
#>

function Get-PVENodesLxcConfigByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesLxcConfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcConfigByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesLxcConfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcConfig" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Check if feature for virtual machine is available.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesLxcFeatureRB
Check if feature for virtual machine is available.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFeature
#>

function Get-PVENodesLxcFeatureByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesLxcFeatureRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFeatureByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/feature'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFeatureByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFeatureByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesLxcFeatureRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFeature" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List aliases

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallAliasesInner[]
#>

function Get-PVENodesLxcFirewallAliasesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallAliasesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/aliases'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallAliasesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallAliasesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallAliasesInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read alias.

.DESCRIPTION

No description available.

.PARAMETER Name
Alias name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesLxcFirewallAliasesByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallAliasesByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling getNodesLxcFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesLxcFirewallByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List IPSets

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

ClusterFirewallIpsetInner[]
#>

function Get-PVENodesLxcFirewallIpsetByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallIpsetByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/ipset'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallIpsetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallIpsetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "ClusterFirewallIpsetInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List IPSet content

.DESCRIPTION

No description available.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuFirewallIpsetGETInner[]
#>

function Get-PVENodesLxcFirewallIpsetByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallIpsetByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling getNodesLxcFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuFirewallIpsetGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read IP or Network settings from IPSet.

.DESCRIPTION

No description available.

.PARAMETER Cidr
Network/IP specification in CIDR format.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Cidr},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}'
        if (!$Cidr) {
            throw "Error! The required parameter `Cidr` missing when calling getNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{cidr}', [System.Web.HTTPUtility]::UrlEncode($Cidr))
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling getNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read firewall log

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesLxcFirewallLogRB
Read firewall log

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallLogInner[]
#>

function Get-PVENodesLxcFirewallLogByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesLxcFirewallLogRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallLogByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/log'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallLogByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallLogByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesLxcFirewallLogRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallLogInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get VM firewall options.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallOptions
#>

function Get-PVENodesLxcFirewallOptionsByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallOptionsByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/options'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallOptionsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallOptionsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallOptions" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Lists possible IPSet/Alias reference which are allowed in source/dest properties.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesLxcFirewallRefsRB
Lists possible IPSet/Alias reference which are allowed in source/dest properties.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

ClusterFirewallRefsInner[]
#>

function Get-PVENodesLxcFirewallRefsByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesLxcFirewallRefsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallRefsByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/refs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallRefsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallRefsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesLxcFirewallRefsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "ClusterFirewallRefsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List rules.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

ClusterSdnVnetsFirewallRulesGETInner[]
#>

function Get-PVENodesLxcFirewallRulesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallRulesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/rules'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallRulesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallRulesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "ClusterSdnVnetsFirewallRulesGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get single rule data.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Pos
Update rule at position <pos>.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallRules
#>

function Get-PVENodesLxcFirewallRulesByNodeAndVmidAndPos {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Pos},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcFirewallRulesByNodeAndVmidAndPos' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Pos) {
            throw "Error! The required parameter `Pos` missing when calling getNodesLxcFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{pos}', [System.Web.HTTPUtility]::UrlEncode($Pos))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallRules" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get IP addresses of the specified container interface.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcInterfacesInner[]
#>

function Get-PVENodesLxcInterfacesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcInterfacesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/interfaces'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcInterfacesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcInterfacesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcInterfacesInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Migration tunnel endpoint for websocket upgrade - only for internal use by VM migration.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesLxcMtunnelwebsocketRB
Migration tunnel endpoint for websocket upgrade - only for internal use by VM migration.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcMtunnelwebsocket
#>

function Get-PVENodesLxcMtunnelwebsocketByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesLxcMtunnelwebsocketRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcMtunnelwebsocketByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/mtunnelwebsocket'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcMtunnelwebsocketByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcMtunnelwebsocketByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesLxcMtunnelwebsocketRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcMtunnelwebsocket" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get container configuration, including pending changes.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcPendingInner[]
#>

function Get-PVENodesLxcPendingByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcPendingByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/pending'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcPendingByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcPendingByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcPendingInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read VM RRD statistics (returns PNG)

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesLxcRrdRB
Read VM RRD statistics (returns PNG)

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcRrd
#>

function Get-PVENodesLxcRrdByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesLxcRrdRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcRrdByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/rrd'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcRrdByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcRrdByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesLxcRrdRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcRrd" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read VM RRD statistics

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesLxcRrddataRB
Read VM RRD statistics

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesLxcRrddataByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesLxcRrddataRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcRrddataByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/rrddata'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcRrddataByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcRrddataByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesLxcRrddataRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List all snapshots.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcSnapshotInner[]
#>

function Get-PVENodesLxcSnapshotByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcSnapshotByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/snapshot'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcSnapshotByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcSnapshotByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcSnapshotInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS



.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesLxcSnapshotByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcSnapshotByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/snapshot/{snapname}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling getNodesLxcSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get snapshot configuration

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesLxcSnapshotConfigByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcSnapshotConfigByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling getNodesLxcSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesLxcStatusByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcStatusByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/status'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcStatusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcStatusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get virtual machine status.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcStatusCurrent
#>

function Get-PVENodesLxcStatusCurrentByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcStatusCurrentByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/status/current'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcStatusCurrentByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcStatusCurrentByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcStatusCurrent" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Opens a weksocket for VNC traffic.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesLxcVncwebsocketRB
Opens a weksocket for VNC traffic.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcVncwebsocket
#>

function Get-PVENodesLxcVncwebsocketByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesLxcVncwebsocketRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesLxcVncwebsocketByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/vncwebsocket'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesLxcVncwebsocketByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesLxcVncwebsocketByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesLxcVncwebsocketRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcVncwebsocket" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read tap/vm network device interface counters

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesNetstatByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesNetstatByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/netstat'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesNetstatByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List available networks

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesNetworkRB
List available networks

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesNetworkGETInner[]
#>

function Get-PVENodesNetworkByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesNetworkRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesNetworkByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/network'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesNetworkByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesNetworkRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesNetworkGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read network device configuration

.DESCRIPTION

No description available.

.PARAMETER Iface
Network interface name.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesNetwork
#>

function Get-PVENodesNetworkByNodeAndIface {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Iface},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesNetworkByNodeAndIface' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/network/{iface}'
        if (!$Iface) {
            throw "Error! The required parameter `Iface` missing when calling getNodesNetworkByNodeAndIface."
        }
        $LocalVarUri = $LocalVarUri.replace('{iface}', [System.Web.HTTPUtility]::UrlEncode($Iface))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesNetworkByNodeAndIface."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesNetwork" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

QEMU Guest Agent command index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesQemuAgentByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Gets the status of the given pid started by the guest-agent

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuAgentExecstatusRB
Gets the status of the given pid started by the guest-agent

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuAgentExecstatus
#>

function Get-PVENodesQemuAgentExecstatusByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuAgentExecstatusRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentExecstatusByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/exec-status'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentExecstatusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentExecstatusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuAgentExecstatusRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuAgentExecstatus" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Reads the given file via guest agent. Is limited to 16777216 bytes.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuAgentFilereadRB
Reads the given file via guest agent. Is limited to 16777216 bytes.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuAgentFileread
#>

function Get-PVENodesQemuAgentFilereadByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuAgentFilereadRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentFilereadByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/file-read'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentFilereadByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentFilereadByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuAgentFilereadRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuAgentFileread" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute get-fsinfo.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentGetfsinfoByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentGetfsinfoByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/get-fsinfo'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentGetfsinfoByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentGetfsinfoByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute get-host-name.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentGethostnameByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentGethostnameByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/get-host-name'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentGethostnameByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentGethostnameByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute get-memory-block-info.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentGetmemoryblockinfoByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentGetmemoryblockinfoByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentGetmemoryblockinfoByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentGetmemoryblockinfoByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute get-memory-blocks.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentGetmemoryblocksByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentGetmemoryblocksByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentGetmemoryblocksByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentGetmemoryblocksByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute get-osinfo.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentGetosinfoByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentGetosinfoByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/get-osinfo'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentGetosinfoByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentGetosinfoByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute get-time.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentGettimeByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentGettimeByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/get-time'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentGettimeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentGettimeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute get-timezone.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentGettimezoneByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentGettimezoneByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/get-timezone'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentGettimezoneByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentGettimezoneByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute get-users.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentGetusersByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentGetusersByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/get-users'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentGetusersByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentGetusersByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute get-vcpus.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentGetvcpusByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentGetvcpusByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/get-vcpus'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentGetvcpusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentGetvcpusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute info.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentInfoByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentInfoByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/info'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentInfoByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentInfoByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute network-get-interfaces.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuAgentNetworkgetinterfacesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuAgentNetworkgetinterfacesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuAgentNetworkgetinterfacesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuAgentNetworkgetinterfacesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Virtual machine index (per node).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesQemuRB
Virtual machine index (per node).

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuInner[]
#>

function Get-PVENodesQemuByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesQemuRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get the cloudinit configuration with both current and pending values.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuCloudinitInner[]
#>

function Get-PVENodesQemuCloudinitByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuCloudinitByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/cloudinit'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuCloudinitByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuCloudinitByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuCloudinitInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get automatically generated cloudinit config.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuCloudinitDumpRB
Get automatically generated cloudinit config.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuCloudinitDumpByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuCloudinitDumpRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuCloudinitDumpByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/cloudinit/dump'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuCloudinitDumpByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuCloudinitDumpByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuCloudinitDumpRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuConfigRB
Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuConfig
#>

function Get-PVENodesQemuConfigByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuConfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuConfigByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuConfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuConfig" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Check if feature for virtual machine is available.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuFeatureRB
Check if feature for virtual machine is available.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuFeature
#>

function Get-PVENodesQemuFeatureByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuFeatureRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFeatureByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/feature'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFeatureByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFeatureByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuFeatureRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuFeature" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List aliases

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallAliasesInner[]
#>

function Get-PVENodesQemuFirewallAliasesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallAliasesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/aliases'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallAliasesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallAliasesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallAliasesInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read alias.

.DESCRIPTION

No description available.

.PARAMETER Name
Alias name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuFirewallAliasesByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallAliasesByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling getNodesQemuFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesQemuFirewallByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List IPSets

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

ClusterFirewallIpsetInner[]
#>

function Get-PVENodesQemuFirewallIpsetByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallIpsetByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/ipset'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallIpsetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallIpsetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "ClusterFirewallIpsetInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List IPSet content

.DESCRIPTION

No description available.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuFirewallIpsetGETInner[]
#>

function Get-PVENodesQemuFirewallIpsetByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallIpsetByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling getNodesQemuFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuFirewallIpsetGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read IP or Network settings from IPSet.

.DESCRIPTION

No description available.

.PARAMETER Cidr
Network/IP specification in CIDR format.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Cidr},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}'
        if (!$Cidr) {
            throw "Error! The required parameter `Cidr` missing when calling getNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{cidr}', [System.Web.HTTPUtility]::UrlEncode($Cidr))
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling getNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read firewall log

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuFirewallLogRB
Read firewall log

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallLogInner[]
#>

function Get-PVENodesQemuFirewallLogByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuFirewallLogRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallLogByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/log'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallLogByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallLogByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuFirewallLogRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallLogInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get VM firewall options.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuFirewallOptions
#>

function Get-PVENodesQemuFirewallOptionsByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallOptionsByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/options'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallOptionsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallOptionsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuFirewallOptions" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Lists possible IPSet/Alias reference which are allowed in source/dest properties.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuFirewallRefsRB
Lists possible IPSet/Alias reference which are allowed in source/dest properties.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

ClusterFirewallRefsInner[]
#>

function Get-PVENodesQemuFirewallRefsByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuFirewallRefsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallRefsByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/refs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallRefsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallRefsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuFirewallRefsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "ClusterFirewallRefsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List rules.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

ClusterSdnVnetsFirewallRulesGETInner[]
#>

function Get-PVENodesQemuFirewallRulesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallRulesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/rules'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallRulesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallRulesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "ClusterSdnVnetsFirewallRulesGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get single rule data.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Pos
Update rule at position <pos>.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuFirewallRules
#>

function Get-PVENodesQemuFirewallRulesByNodeAndVmidAndPos {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Pos},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuFirewallRulesByNodeAndVmidAndPos' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Pos) {
            throw "Error! The required parameter `Pos` missing when calling getNodesQemuFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{pos}', [System.Web.HTTPUtility]::UrlEncode($Pos))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuFirewallRules" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get preconditions for migration.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuMigrateRB
Get preconditions for migration.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuMigrate
#>

function Get-PVENodesQemuMigrateByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuMigrateRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuMigrateByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/migrate'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuMigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuMigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuMigrateRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuMigrate" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Migration tunnel endpoint for websocket upgrade - only for internal use by VM migration.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuMtunnelwebsocketRB
Migration tunnel endpoint for websocket upgrade - only for internal use by VM migration.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuMtunnelwebsocket
#>

function Get-PVENodesQemuMtunnelwebsocketByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuMtunnelwebsocketRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuMtunnelwebsocketByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/mtunnelwebsocket'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuMtunnelwebsocketByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuMtunnelwebsocketByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuMtunnelwebsocketRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuMtunnelwebsocket" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get the virtual machine configuration with both current and pending values.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcPendingInner[]
#>

function Get-PVENodesQemuPendingByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuPendingByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/pending'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuPendingByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuPendingByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcPendingInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read VM RRD statistics (returns PNG)

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuRrdRB
Read VM RRD statistics (returns PNG)

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuRrd
#>

function Get-PVENodesQemuRrdByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuRrdRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuRrdByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/rrd'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuRrdByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuRrdByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuRrdRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuRrd" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read VM RRD statistics

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuRrddataRB
Read VM RRD statistics

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesQemuRrddataByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuRrddataRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuRrddataByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/rrddata'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuRrddataByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuRrddataByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuRrddataRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List all snapshots.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuSnapshotInner[]
#>

function Get-PVENodesQemuSnapshotByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuSnapshotByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/snapshot'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuSnapshotByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuSnapshotByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuSnapshotInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS



.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesQemuSnapshotByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuSnapshotByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/snapshot/{snapname}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling getNodesQemuSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get snapshot configuration

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuSnapshotConfigByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuSnapshotConfigByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling getNodesQemuSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesQemuStatusByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuStatusByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/status'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuStatusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuStatusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get virtual machine status.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuStatusCurrent
#>

function Get-PVENodesQemuStatusCurrentByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuStatusCurrentByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/status/current'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuStatusCurrentByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuStatusCurrentByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuStatusCurrent" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Opens a weksocket for VNC traffic.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER GETNodesQemuVncwebsocketRB
Opens a weksocket for VNC traffic.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuVncwebsocket
#>

function Get-PVENodesQemuVncwebsocketByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQemuVncwebsocketRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQemuVncwebsocketByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/vncwebsocket'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQemuVncwebsocketByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling getNodesQemuVncwebsocketByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $GETNodesQemuVncwebsocketRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuVncwebsocket" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Query metadata of an URL: file size, file name and mime type.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesQueryurlmetadataRB
Query metadata of an URL: file size, file name and mime type.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQueryurlmetadata
#>

function Get-PVENodesQueryurlmetadataByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesQueryurlmetadataRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesQueryurlmetadataByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/query-url-metadata'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesQueryurlmetadataByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesQueryurlmetadataRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQueryurlmetadata" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List status of all replication jobs on this node.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesReplicationRB
List status of all replication jobs on this node.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

ClusterHaInner[]
#>

function Get-PVENodesReplicationByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesReplicationRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesReplicationByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/replication'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesReplicationByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesReplicationRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "ClusterHaInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index.

.DESCRIPTION

No description available.

.PARAMETER Id
Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesReplicationByNodeAndId {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesReplicationByNodeAndId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/replication/{id}'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling getNodesReplicationByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{id}', [System.Web.HTTPUtility]::UrlEncode($Id))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesReplicationByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read replication job log.

.DESCRIPTION

No description available.

.PARAMETER Id
Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesReplicationLogRB
Read replication job log.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallLogInner[]
#>

function Get-PVENodesReplicationLogByNodeAndId {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesReplicationLogRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesReplicationLogByNodeAndId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/replication/{id}/log'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling getNodesReplicationLogByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{id}', [System.Web.HTTPUtility]::UrlEncode($Id))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesReplicationLogByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesReplicationLogRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallLogInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get replication job status.

.DESCRIPTION

No description available.

.PARAMETER Id
Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesReplicationStatusByNodeAndId {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesReplicationStatusByNodeAndId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/replication/{id}/status'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling getNodesReplicationStatusByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{id}', [System.Web.HTTPUtility]::UrlEncode($Id))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesReplicationStatusByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Gather various systems information about a node

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesReportByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesReportByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/report'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesReportByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read node RRD statistics (returns PNG)

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesRrdRB
Read node RRD statistics (returns PNG)

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesRrd
#>

function Get-PVENodesRrdByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesRrdRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesRrdByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/rrd'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesRrdByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesRrdRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesRrd" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read node RRD statistics

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesRrddataRB
Read node RRD statistics

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesRrddataByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesRrddataRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesRrddataByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/rrddata'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesRrddataByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesRrddataRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Index of available scan methods

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesHardwarePciGETInner[]
#>

function Get-PVENodesScanByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesScanByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/scan'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesScanByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesHardwarePciGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Scan remote CIFS server.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesScanCifsRB
Scan remote CIFS server.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesScanCifsInner[]
#>

function Get-PVENodesScanCifsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesScanCifsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesScanCifsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/scan/cifs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesScanCifsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesScanCifsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesScanCifsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Scan remote GlusterFS server.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesScanGlusterfsRB
Scan remote GlusterFS server.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesScanGlusterfsInner[]
#>

function Get-PVENodesScanGlusterfsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesScanGlusterfsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesScanGlusterfsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/scan/glusterfs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesScanGlusterfsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesScanGlusterfsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesScanGlusterfsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Scan remote iSCSI server.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesScanIscsiRB
Scan remote iSCSI server.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesScanIscsiInner[]
#>

function Get-PVENodesScanIscsiByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesScanIscsiRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesScanIscsiByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/scan/iscsi'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesScanIscsiByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesScanIscsiRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesScanIscsiInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List local LVM volume groups.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesScanLvmInner[]
#>

function Get-PVENodesScanLvmByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesScanLvmByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/scan/lvm'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesScanLvmByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesScanLvmInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List local LVM Thin Pools.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesScanLvmthinRB
List local LVM Thin Pools.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesScanLvmthinInner[]
#>

function Get-PVENodesScanLvmthinByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesScanLvmthinRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesScanLvmthinByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/scan/lvmthin'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesScanLvmthinByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesScanLvmthinRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesScanLvmthinInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Scan remote NFS server.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesScanNfsRB
Scan remote NFS server.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesScanNfsInner[]
#>

function Get-PVENodesScanNfsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesScanNfsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesScanNfsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/scan/nfs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesScanNfsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesScanNfsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesScanNfsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Scan remote Proxmox Backup Server.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesScanPbsRB
Scan remote Proxmox Backup Server.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesScanPbsInner[]
#>

function Get-PVENodesScanPbsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesScanPbsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesScanPbsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/scan/pbs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesScanPbsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesScanPbsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesScanPbsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Scan zfs pool list on local node.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesScanZfsInner[]
#>

function Get-PVENodesScanZfsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesScanZfsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/scan/zfs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesScanZfsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesScanZfsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

SDN index.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesSdnByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesSdnByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/sdn'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesSdnByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get status for all zones.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesSdnZonesInner[]
#>

function Get-PVENodesSdnZonesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesSdnZonesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/sdn/zones'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesSdnZonesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesSdnZonesInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS



.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Zone
The SDN zone object identifier.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesSdnZonesByNodeAndZone {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Zone},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesSdnZonesByNodeAndZone' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/sdn/zones/{zone}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesSdnZonesByNodeAndZone."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Zone) {
            throw "Error! The required parameter `Zone` missing when calling getNodesSdnZonesByNodeAndZone."
        }
        $LocalVarUri = $LocalVarUri.replace('{zone}', [System.Web.HTTPUtility]::UrlEncode($Zone))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List zone content.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Zone
The SDN zone object identifier.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesSdnZonesContentInner[]
#>

function Get-PVENodesSdnZonesContentByNodeAndZone {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Zone},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesSdnZonesContentByNodeAndZone' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/sdn/zones/{zone}/content'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesSdnZonesContentByNodeAndZone."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Zone) {
            throw "Error! The required parameter `Zone` missing when calling getNodesSdnZonesContentByNodeAndZone."
        }
        $LocalVarUri = $LocalVarUri.replace('{zone}', [System.Web.HTTPUtility]::UrlEncode($Zone))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesSdnZonesContentInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Service list.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesServicesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesServicesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/services'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesServicesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Directory index

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Service
Service ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesServicesByNodeAndService {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Service},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesServicesByNodeAndService' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/services/{service}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesServicesByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Service) {
            throw "Error! The required parameter `Service` missing when calling getNodesServicesByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{service}', [System.Web.HTTPUtility]::UrlEncode($Service))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read service properties

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Service
Service ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesServicesStateByNodeAndService {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Service},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesServicesStateByNodeAndService' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/services/{service}/state'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesServicesStateByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Service) {
            throw "Error! The required parameter `Service` missing when calling getNodesServicesStateByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{service}', [System.Web.HTTPUtility]::UrlEncode($Service))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read node status

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesStatus
#>

function Get-PVENodesStatusByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStatusByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/status'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStatusByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesStatus" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get status for all datastores.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesStorageRB
Get status for all datastores.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesStorageInner[]
#>

function Get-PVENodesStorageByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesStorageRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesStorageRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesStorageInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS



.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesStorageByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/storage/{storage}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStorageByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List storage content.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER GETNodesStorageContentRB
List storage content.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesStorageContentGETInner[]
#>

function Get-PVENodesStorageContentByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesStorageContentRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageContentByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/content'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageContentByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStorageContentByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $GETNodesStorageContentRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesStorageContentGETInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get volume attributes

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER Volume
Volume identifier

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesStorageContent
#>

function Get-PVENodesStorageContentByNodeAndStorageAndVolume {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Volume},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageContentByNodeAndStorageAndVolume' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/content/{volume}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))
        if (!$Volume) {
            throw "Error! The required parameter `Volume` missing when calling getNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{volume}', [System.Web.HTTPUtility]::UrlEncode($Volume))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesStorageContent" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Extract a file or directory (as zip archive) from a PBS backup.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER GETNodesStorageFilerestoreDownloadRB
Extract a file or directory (as zip archive) from a PBS backup.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

System.IO.FileInfo
#>

function Get-PVENodesStorageFilerestoreDownloadByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesStorageFilerestoreDownloadRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageFilerestoreDownloadByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/file-restore/download'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageFilerestoreDownloadByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStorageFilerestoreDownloadByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $GETNodesStorageFilerestoreDownloadRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "System.IO.FileInfo" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

List files and directories for single file restore under the given path.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER GETNodesStorageFilerestoreListRB
List files and directories for single file restore under the given path.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesStorageFilerestoreListInner[]
#>

function Get-PVENodesStorageFilerestoreListByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesStorageFilerestoreListRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageFilerestoreListByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/file-restore/list'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageFilerestoreListByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStorageFilerestoreListByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $GETNodesStorageFilerestoreListRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesStorageFilerestoreListInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get the base parameters for creating a guest which imports data from a foreign importable guest, like an ESXi VM

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER GETNodesStorageImportmetadataRB
Get the base parameters for creating a guest which imports data from a foreign importable guest, like an ESXi VM

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesStorageImportmetadata
#>

function Get-PVENodesStorageImportmetadataByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesStorageImportmetadataRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageImportmetadataByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/import-metadata'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageImportmetadataByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStorageImportmetadataByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $GETNodesStorageImportmetadataRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesStorageImportmetadata" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get prune information for backups. NOTE: this is only a preview and might not be what a subsequent prune call does if backups are removed/added in the meantime.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER GETNodesStoragePrunebackupsRB
Get prune information for backups. NOTE: this is only a preview and might not be what a subsequent prune call does if backups are removed/added in the meantime.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesStoragePrunebackupsInner[]
#>

function Get-PVENodesStoragePrunebackupsByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesStoragePrunebackupsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStoragePrunebackupsByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/prunebackups'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStoragePrunebackupsByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStoragePrunebackupsByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $GETNodesStoragePrunebackupsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesStoragePrunebackupsInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read storage RRD statistics (returns PNG).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER GETNodesStorageRrdRB
Read storage RRD statistics (returns PNG).

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesStorageRrd
#>

function Get-PVENodesStorageRrdByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesStorageRrdRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageRrdByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/rrd'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageRrdByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStorageRrdByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $GETNodesStorageRrdRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesStorageRrd" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read storage RRD statistics.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER GETNodesStorageRrddataRB
Read storage RRD statistics.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesStorageRrddataByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesStorageRrddataRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageRrddataByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/rrddata'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageRrddataByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStorageRrddataByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $GETNodesStorageRrddataRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read storage status.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesStorageStatusByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesStorageStatusByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/storage/{storage}/status'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesStorageStatusByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling getNodesStorageStatusByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read subscription info.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesSubscription
#>

function Get-PVENodesSubscriptionByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesSubscriptionByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/subscription'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesSubscriptionByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesSubscription" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read system log

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesSyslogRB
Read system log

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallLogInner[]
#>

function Get-PVENodesSyslogByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesSyslogRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesSyslogByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/syslog'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesSyslogByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesSyslogRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallLogInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read task list for one node (finished tasks).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesTasksRB
Read task list for one node (finished tasks).

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesTasksInner[]
#>

function Get-PVENodesTasksByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesTasksRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesTasksByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/tasks'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesTasksByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesTasksRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesTasksInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS



.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Upid
No description available.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function Get-PVENodesTasksByNodeAndUpid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Upid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesTasksByNodeAndUpid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/tasks/{upid}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesTasksByNodeAndUpid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Upid) {
            throw "Error! The required parameter `Upid` missing when calling getNodesTasksByNodeAndUpid."
        }
        $LocalVarUri = $LocalVarUri.replace('{upid}', [System.Web.HTTPUtility]::UrlEncode($Upid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read task log.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Upid
The task's unique ID.

.PARAMETER GETNodesTasksLogRB
Read task log.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesLxcFirewallLogInner[]
#>

function Get-PVENodesTasksLogByNodeAndUpid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Upid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesTasksLogRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesTasksLogByNodeAndUpid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/tasks/{upid}/log'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesTasksLogByNodeAndUpid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Upid) {
            throw "Error! The required parameter `Upid` missing when calling getNodesTasksLogByNodeAndUpid."
        }
        $LocalVarUri = $LocalVarUri.replace('{upid}', [System.Web.HTTPUtility]::UrlEncode($Upid))

        $LocalVarBodyParameter = $GETNodesTasksLogRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesLxcFirewallLogInner[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read task status.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Upid
The task's unique ID.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesTasksStatus
#>

function Get-PVENodesTasksStatusByNodeAndUpid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Upid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesTasksStatusByNodeAndUpid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/tasks/{upid}/status'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesTasksStatusByNodeAndUpid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Upid) {
            throw "Error! The required parameter `Upid` missing when calling getNodesTasksStatusByNodeAndUpid."
        }
        $LocalVarUri = $LocalVarUri.replace('{upid}', [System.Web.HTTPUtility]::UrlEncode($Upid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesTasksStatus" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Read server time and time zone settings.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesTime
#>

function Get-PVENodesTimeByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesTimeByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/time'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesTimeByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesTime" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

API version details

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesVersion
#>

function Get-PVENodesVersionByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesVersionByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/nodes/{node}/version'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesVersionByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesVersion" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Opens a websocket for VNC traffic.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesVncwebsocketRB
Opens a websocket for VNC traffic.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesVncwebsocket
#>

function Get-PVENodesVncwebsocketByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesVncwebsocketRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesVncwebsocketByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/vncwebsocket'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesVncwebsocketByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesVncwebsocketRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesVncwebsocket" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Get the currently configured vzdump defaults.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesVzdumpDefaultsRB
Get the currently configured vzdump defaults.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesVzdumpDefaults
#>

function Get-PVENodesVzdumpDefaultsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesVzdumpDefaultsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesVzdumpDefaultsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/vzdump/defaults'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesVzdumpDefaultsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesVzdumpDefaultsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesVzdumpDefaults" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Extract configuration from vzdump backup archive.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER GETNodesVzdumpExtractconfigRB
Extract configuration from vzdump backup archive.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Get-PVENodesVzdumpExtractconfigByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${GETNodesVzdumpExtractconfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Get-PVENodesVzdumpExtractconfigByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/vzdump/extractconfig'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling getNodesVzdumpExtractconfigByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $GETNodesVzdumpExtractconfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Download appliance templates.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesAplinfoRB
Download appliance templates.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesAplinfoByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesAplinfoRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesAplinfoByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/aplinfo'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesAplinfoByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesAplinfoRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Change the properties of a repository. Currently only allows enabling/disabling.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesAptRepositoriesRB
Change the properties of a repository. Currently only allows enabling/disabling.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesAptRepositoriesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesAptRepositoriesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesAptRepositoriesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/apt/repositories'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesAptRepositoriesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesAptRepositoriesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

This is used to resynchronize the package index files from their sources (apt-get update).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesAptUpdateRB
This is used to resynchronize the package index files from their sources (apt-get update).

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesAptUpdateByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesAptUpdateRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesAptUpdateByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/apt/update'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesAptUpdateByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesAptUpdateRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create a Ceph filesystem

.DESCRIPTION

No description available.

.PARAMETER Name
The ceph filesystem name.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCephFsRB
Create a Ceph filesystem

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephFsByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephFsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephFsByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/fs/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling newNodesCephFsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephFsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCephFsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create initial ceph default configuration and setup symlinks.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCephInitRB
Create initial ceph default configuration and setup symlinks.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephInitByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephInitRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephInitByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/init'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephInitByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCephInitRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create Ceph Metadata Server (MDS)

.DESCRIPTION

No description available.

.PARAMETER Name
The ID for the mds, when omitted the same as the nodename

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCephMdsRB
Create Ceph Metadata Server (MDS)

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephMdsByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephMdsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephMdsByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/mds/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling newNodesCephMdsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephMdsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCephMdsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create Ceph Manager

.DESCRIPTION

No description available.

.PARAMETER Id
The ID for the manager, when omitted the same as the nodename

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephMgrByNodeAndId {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephMgrByNodeAndId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/mgr/{id}'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling newNodesCephMgrByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{id}', [System.Web.HTTPUtility]::UrlEncode($Id))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephMgrByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create Ceph Monitor and Manager

.DESCRIPTION

No description available.

.PARAMETER Monid
The ID for the monitor, when omitted the same as the nodename

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCephMonRB
Create Ceph Monitor and Manager

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephMonByNodeAndMonid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Monid},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephMonRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephMonByNodeAndMonid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/mon/{monid}'
        if (!$Monid) {
            throw "Error! The required parameter `Monid` missing when calling newNodesCephMonByNodeAndMonid."
        }
        $LocalVarUri = $LocalVarUri.replace('{monid}', [System.Web.HTTPUtility]::UrlEncode($Monid))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephMonByNodeAndMonid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCephMonRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create OSD

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCephOsdRB
Create OSD

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephOsdByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephOsdRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephOsdByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/osd'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephOsdByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCephOsdRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

ceph osd in

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Osdid
OSD ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephOsdInByNodeAndOsdid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Osdid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephOsdInByNodeAndOsdid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/osd/{osdid}/in'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephOsdInByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Osdid) {
            throw "Error! The required parameter `Osdid` missing when calling newNodesCephOsdInByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{osdid}', [System.Web.HTTPUtility]::UrlEncode($Osdid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

ceph osd out

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Osdid
OSD ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephOsdOutByNodeAndOsdid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Osdid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephOsdOutByNodeAndOsdid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/osd/{osdid}/out'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephOsdOutByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Osdid) {
            throw "Error! The required parameter `Osdid` missing when calling newNodesCephOsdOutByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{osdid}', [System.Web.HTTPUtility]::UrlEncode($Osdid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Instruct the OSD to scrub.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Osdid
OSD ID

.PARAMETER POSTNodesCephOsdScrubRB
Instruct the OSD to scrub.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephOsdScrubByNodeAndOsdid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Osdid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephOsdScrubRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephOsdScrubByNodeAndOsdid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/osd/{osdid}/scrub'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephOsdScrubByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Osdid) {
            throw "Error! The required parameter `Osdid` missing when calling newNodesCephOsdScrubByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{osdid}', [System.Web.HTTPUtility]::UrlEncode($Osdid))

        $LocalVarBodyParameter = $POSTNodesCephOsdScrubRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create Ceph pool

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCephPoolRB
Create Ceph pool

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephPoolByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephPoolRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephPoolByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/pool'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephPoolByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCephPoolRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Restart ceph services.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCephRestartRB
Restart ceph services.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephRestartByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephRestartRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephRestartByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/restart'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephRestartByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCephRestartRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Start ceph services.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCephStartRB
Start ceph services.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephStartByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephStartRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephStartByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/start'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephStartByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCephStartRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Stop ceph services.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCephStopRB
Stop ceph services.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCephStopByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCephStopRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCephStopByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/stop'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCephStopByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCephStopRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Order a new certificate from ACME-compatible CA.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCertificatesAcmeCertificateRB
Order a new certificate from ACME-compatible CA.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesCertificatesAcmeCertificateByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCertificatesAcmeCertificateRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCertificatesAcmeCertificateByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/certificates/acme/certificate'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCertificatesAcmeCertificateByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCertificatesAcmeCertificateRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Upload or update custom certificate chain and key.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesCertificatesCustomRB
Upload or update custom certificate chain and key.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesCertificatesCustom
#>

function New-PVENodesCertificatesCustomByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesCertificatesCustomRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesCertificatesCustomByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/certificates/custom'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesCertificatesCustomByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesCertificatesCustomRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesCertificatesCustom" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesDisksDirectoryRB
Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesDisksDirectoryByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesDisksDirectoryRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesDisksDirectoryByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/directory'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesDisksDirectoryByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesDisksDirectoryRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Initialize Disk with GPT

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesDisksInitgptRB
Initialize Disk with GPT

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesDisksInitgptByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesDisksInitgptRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesDisksInitgptByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/initgpt'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesDisksInitgptByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesDisksInitgptRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create an LVM Volume Group

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesDisksLvmRB
Create an LVM Volume Group

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesDisksLvmByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesDisksLvmRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesDisksLvmByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/lvm'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesDisksLvmByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesDisksLvmRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create an LVM thinpool

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesDisksLvmthinRB
Create an LVM thinpool

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesDisksLvmthinByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesDisksLvmthinRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesDisksLvmthinByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/lvmthin'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesDisksLvmthinByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesDisksLvmthinRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create a ZFS pool.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesDisksZfsRB
Create a ZFS pool.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesDisksZfsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesDisksZfsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesDisksZfsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/zfs'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesDisksZfsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesDisksZfsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute multiple commands in order, root only.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesExecuteRB
Execute multiple commands in order, root only.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

SystemCollectionsHashtable[]
#>

function New-PVENodesExecuteByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesExecuteRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesExecuteByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/execute'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesExecuteByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesExecuteRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "SystemCollectionsHashtable[]" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create new rule.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesFirewallRulesRB
Create new rule.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesFirewallRulesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesFirewallRulesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesFirewallRulesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/firewall/rules'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesFirewallRulesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesFirewallRulesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Write /etc/hosts.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesHostsRB
Write /etc/hosts.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesHostsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesHostsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesHostsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/hosts'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesHostsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesHostsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create or restore a container.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesLxcRB
Create or restore a container.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesLxcRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create a container clone/copy

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcCloneRB
Create a container clone/copy

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcCloneByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcCloneRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcCloneByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/clone'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcCloneByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcCloneByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcCloneRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create IP or Network Alias.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcFirewallAliasesRB
Create IP or Network Alias.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcFirewallAliasesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcFirewallAliasesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcFirewallAliasesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/aliases'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcFirewallAliasesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcFirewallAliasesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcFirewallAliasesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create new IPSet

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcFirewallIpsetRB
Create new IPSet

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcFirewallIpsetByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcFirewallIpsetByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/ipset'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcFirewallIpsetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcFirewallIpsetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Add IP or Network to IPSet.

.DESCRIPTION

No description available.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcFirewallIpsetRB
Add IP or Network to IPSet.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcFirewallIpsetByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcFirewallIpsetByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling newNodesLxcFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create new rule.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcFirewallRulesRB
Create new rule.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcFirewallRulesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcFirewallRulesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcFirewallRulesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/rules'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcFirewallRulesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcFirewallRulesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcFirewallRulesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Migrate the container to another node. Creates a new migration task.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcMigrateRB
Migrate the container to another node. Creates a new migration task.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcMigrateByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcMigrateRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcMigrateByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/migrate'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcMigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcMigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcMigrateRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Move a rootfs-/mp-volume to a different storage or to a different container.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcMovevolumeRB
Move a rootfs-/mp-volume to a different storage or to a different container.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcMovevolumeByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcMovevolumeRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcMovevolumeByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/move_volume'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcMovevolumeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcMovevolumeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcMovevolumeRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Migration tunnel endpoint - only for internal use by CT migration.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcMtunnelRB
Migration tunnel endpoint - only for internal use by CT migration.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcMtunnelByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcMtunnelRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcMtunnelByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/mtunnel'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcMtunnelByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcMtunnelByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcMtunnelRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Migrate the container to another cluster. Creates a new migration task. EXPERIMENTAL feature!

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcRemotemigrateRB
Migrate the container to another cluster. Creates a new migration task. EXPERIMENTAL feature!

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcRemotemigrateByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcRemotemigrateRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcRemotemigrateByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/remote_migrate'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcRemotemigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcRemotemigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcRemotemigrateRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Snapshot a container.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcSnapshotRB
Snapshot a container.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcSnapshotByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcSnapshotRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcSnapshotByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/snapshot'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcSnapshotByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcSnapshotByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcSnapshotRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Rollback LXC state to specified snapshot.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcSnapshotRollbackRB
Rollback LXC state to specified snapshot.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcSnapshotRollbackByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcSnapshotRollbackRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcSnapshotRollbackByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcSnapshotRollbackByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling newNodesLxcSnapshotRollbackByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcSnapshotRollbackByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcSnapshotRollbackRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Returns a SPICE configuration to connect to the CT.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcSpiceproxyRB
Returns a SPICE configuration to connect to the CT.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcSpiceproxyByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcSpiceproxyRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcSpiceproxyByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/spiceproxy'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcSpiceproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcSpiceproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcSpiceproxyRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Reboot the container by shutting it down, and starting it again. Applies pending changes.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcStatusRebootRB
Reboot the container by shutting it down, and starting it again. Applies pending changes.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcStatusRebootByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcStatusRebootRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcStatusRebootByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/status/reboot'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcStatusRebootByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcStatusRebootByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcStatusRebootRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Resume the container.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcStatusResumeByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcStatusResumeByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/status/resume'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcStatusResumeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcStatusResumeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcStatusShutdownRB
Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcStatusShutdownByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcStatusShutdownRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcStatusShutdownByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/status/shutdown'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcStatusShutdownByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcStatusShutdownByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcStatusShutdownRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Start the container.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcStatusStartRB
Start the container.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcStatusStartByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcStatusStartRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcStatusStartByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/status/start'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcStatusStartByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcStatusStartByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcStatusStartRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Stop the container. This will abruptly stop all processes running in the container.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcStatusStopRB
Stop the container. This will abruptly stop all processes running in the container.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcStatusStopByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcStatusStopRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcStatusStopByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/status/stop'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcStatusStopByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcStatusStopByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcStatusStopRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Suspend the container. This is experimental.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcStatusSuspendByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcStatusSuspendByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/status/suspend'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcStatusSuspendByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcStatusSuspendByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create a Template.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcTemplateByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcTemplateByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/template'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcTemplateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcTemplateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Creates a TCP proxy connection.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcTermproxyByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcTermproxyByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/termproxy'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcTermproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcTermproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Creates a TCP VNC proxy connections.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesLxcVncproxyRB
Creates a TCP VNC proxy connections.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesLxcVncproxyByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesLxcVncproxyRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesLxcVncproxyByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/vncproxy'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesLxcVncproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesLxcVncproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesLxcVncproxyRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Migrate all VMs and Containers.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesMigrateallRB
Migrate all VMs and Containers.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesMigrateallByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesMigrateallRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesMigrateallByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/migrateall'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesMigrateallByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesMigrateallRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create network device configuration

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesNetworkRB
Create network device configuration

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesNetworkByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesNetworkRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesNetworkByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/network'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesNetworkByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesNetworkRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute QEMU Guest Agent commands.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuAgentRB
Execute QEMU Guest Agent commands.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuAgentRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuAgentRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Executes the given command in the vm via the guest-agent and returns an object with the pid.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuAgentExecRB
Executes the given command in the vm via the guest-agent and returns an object with the pid.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

NodesQemuAgentExec
#>

function New-PVENodesQemuAgentExecByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuAgentExecRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentExecByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/exec'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentExecByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentExecByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuAgentExecRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "NodesQemuAgentExec" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Writes the given file via guest agent.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuAgentFilewriteRB
Writes the given file via guest agent.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentFilewriteByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuAgentFilewriteRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentFilewriteByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/file-write'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentFilewriteByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentFilewriteByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuAgentFilewriteRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute fsfreeze-freeze.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentFsfreezefreezeByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentFsfreezefreezeByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentFsfreezefreezeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentFsfreezefreezeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute fsfreeze-status.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentFsfreezestatusByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentFsfreezestatusByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentFsfreezestatusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentFsfreezestatusByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute fsfreeze-thaw.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentFsfreezethawByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentFsfreezethawByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentFsfreezethawByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentFsfreezethawByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute fstrim.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentFstrimByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentFstrimByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/fstrim'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentFstrimByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentFstrimByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute ping.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentPingByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentPingByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/ping'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentPingByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentPingByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Sets the password for the given user to the given password

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuAgentSetuserpasswordRB
Sets the password for the given user to the given password

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentSetuserpasswordByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuAgentSetuserpasswordRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentSetuserpasswordByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/set-user-password'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentSetuserpasswordByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentSetuserpasswordByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuAgentSetuserpasswordRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute shutdown.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentShutdownByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentShutdownByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/shutdown'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentShutdownByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentShutdownByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute suspend-disk.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentSuspenddiskByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentSuspenddiskByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/suspend-disk'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentSuspenddiskByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentSuspenddiskByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute suspend-hybrid.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentSuspendhybridByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentSuspendhybridByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentSuspendhybridByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentSuspendhybridByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute suspend-ram.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuAgentSuspendramByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuAgentSuspendramByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/agent/suspend-ram'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuAgentSuspendramByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuAgentSuspendramByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create or restore a virtual machine.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesQemuRB
Create or restore a virtual machine.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesQemuRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create a copy of virtual machine/template.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuCloneRB
Create a copy of virtual machine/template.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuCloneByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuCloneRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuCloneByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/clone'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuCloneByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuCloneByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuCloneRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Set virtual machine options (asynchronous API).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuConfigRB
Set virtual machine options (asynchronous API).

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuConfigByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuConfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuConfigByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuConfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create IP or Network Alias.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuFirewallAliasesRB
Create IP or Network Alias.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuFirewallAliasesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuFirewallAliasesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuFirewallAliasesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/aliases'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuFirewallAliasesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuFirewallAliasesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuFirewallAliasesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create new IPSet

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuFirewallIpsetRB
Create new IPSet

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuFirewallIpsetByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuFirewallIpsetByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/ipset'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuFirewallIpsetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuFirewallIpsetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Add IP or Network to IPSet.

.DESCRIPTION

No description available.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuFirewallIpsetRB
Add IP or Network to IPSet.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuFirewallIpsetByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuFirewallIpsetByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling newNodesQemuFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create new rule.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuFirewallRulesRB
Create new rule.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuFirewallRulesByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuFirewallRulesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuFirewallRulesByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/rules'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuFirewallRulesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuFirewallRulesByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuFirewallRulesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Migrate virtual machine. Creates a new migration task.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuMigrateRB
Migrate virtual machine. Creates a new migration task.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuMigrateByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuMigrateRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuMigrateByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/migrate'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuMigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuMigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuMigrateRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Execute QEMU monitor commands.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuMonitorRB
Execute QEMU monitor commands.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuMonitorByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuMonitorRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuMonitorByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/monitor'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuMonitorByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuMonitorByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuMonitorRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Move volume to different storage or to a different VM.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuMovediskRB
Move volume to different storage or to a different VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuMovediskByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuMovediskRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuMovediskByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/move_disk'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuMovediskByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuMovediskByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuMovediskRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Migration tunnel endpoint - only for internal use by VM migration.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuMtunnelRB
Migration tunnel endpoint - only for internal use by VM migration.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuMtunnelByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuMtunnelRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuMtunnelByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/mtunnel'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuMtunnelByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuMtunnelByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuMtunnelRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Migrate virtual machine to a remote cluster. Creates a new migration task. EXPERIMENTAL feature!

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuRemotemigrateRB
Migrate virtual machine to a remote cluster. Creates a new migration task. EXPERIMENTAL feature!

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuRemotemigrateByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuRemotemigrateRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuRemotemigrateByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/remote_migrate'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuRemotemigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuRemotemigrateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuRemotemigrateRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Snapshot a VM.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuSnapshotRB
Snapshot a VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuSnapshotByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuSnapshotRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuSnapshotByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/snapshot'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuSnapshotByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuSnapshotByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuSnapshotRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Rollback VM state to specified snapshot.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuSnapshotRollbackRB
Rollback VM state to specified snapshot.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuSnapshotRollbackByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuSnapshotRollbackRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuSnapshotRollbackByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuSnapshotRollbackByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling newNodesQemuSnapshotRollbackByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuSnapshotRollbackByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuSnapshotRollbackRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Returns a SPICE configuration to connect to the VM.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuSpiceproxyRB
Returns a SPICE configuration to connect to the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuSpiceproxyByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuSpiceproxyRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuSpiceproxyByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/spiceproxy'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuSpiceproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuSpiceproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuSpiceproxyRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Reboot the VM by shutting it down, and starting it again. Applies pending changes.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuStatusRebootRB
Reboot the VM by shutting it down, and starting it again. Applies pending changes.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuStatusRebootByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuStatusRebootRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuStatusRebootByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/status/reboot'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuStatusRebootByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuStatusRebootByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuStatusRebootRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Reset virtual machine.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuStatusResetRB
Reset virtual machine.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuStatusResetByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuStatusResetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuStatusResetByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/status/reset'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuStatusResetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuStatusResetByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuStatusResetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Resume virtual machine.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuStatusResumeRB
Resume virtual machine.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuStatusResumeByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuStatusResumeRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuStatusResumeByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/status/resume'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuStatusResumeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuStatusResumeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuStatusResumeRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Shutdown virtual machine. This is similar to pressing the power button on a physical machine. This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuStatusShutdownRB
Shutdown virtual machine. This is similar to pressing the power button on a physical machine. This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuStatusShutdownByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuStatusShutdownRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuStatusShutdownByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/status/shutdown'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuStatusShutdownByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuStatusShutdownByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuStatusShutdownRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Start virtual machine.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuStatusStartRB
Start virtual machine.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuStatusStartByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuStatusStartRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuStatusStartByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/status/start'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuStatusStartByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuStatusStartByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuStatusStartRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Stop virtual machine. The qemu process will exit immediately. This is akin to pulling the power plug of a running computer and may damage the VM data.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuStatusStopRB
Stop virtual machine. The qemu process will exit immediately. This is akin to pulling the power plug of a running computer and may damage the VM data.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuStatusStopByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuStatusStopRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuStatusStopByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/status/stop'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuStatusStopByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuStatusStopByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuStatusStopRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Suspend virtual machine.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuStatusSuspendRB
Suspend virtual machine.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuStatusSuspendByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuStatusSuspendRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuStatusSuspendByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/status/suspend'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuStatusSuspendByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuStatusSuspendByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuStatusSuspendRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create a Template.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuTemplateRB
Create a Template.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuTemplateByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuTemplateRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuTemplateByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/template'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuTemplateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuTemplateByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuTemplateRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Creates a TCP proxy connections.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuTermproxyRB
Creates a TCP proxy connections.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuTermproxyByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuTermproxyRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuTermproxyByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/termproxy'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuTermproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuTermproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuTermproxyRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Creates a TCP VNC proxy connections.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER POSTNodesQemuVncproxyRB
Creates a TCP VNC proxy connections.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesQemuVncproxyByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesQemuVncproxyRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesQemuVncproxyByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/vncproxy'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesQemuVncproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling newNodesQemuVncproxyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $POSTNodesQemuVncproxyRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Schedule replication job to start as soon as possible.

.DESCRIPTION

No description available.

.PARAMETER Id
Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesReplicationSchedulenowByNodeAndId {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesReplicationSchedulenowByNodeAndId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/replication/{id}/schedule_now'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling newNodesReplicationSchedulenowByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{id}', [System.Web.HTTPUtility]::UrlEncode($Id))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesReplicationSchedulenowByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Reload service. Falls back to restart if service cannot be reloaded.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Service
Service ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesServicesReloadByNodeAndService {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Service},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesServicesReloadByNodeAndService' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/services/{service}/reload'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesServicesReloadByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Service) {
            throw "Error! The required parameter `Service` missing when calling newNodesServicesReloadByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{service}', [System.Web.HTTPUtility]::UrlEncode($Service))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Hard restart service. Use reload if you want to reduce interruptions.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Service
Service ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesServicesRestartByNodeAndService {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Service},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesServicesRestartByNodeAndService' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/services/{service}/restart'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesServicesRestartByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Service) {
            throw "Error! The required parameter `Service` missing when calling newNodesServicesRestartByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{service}', [System.Web.HTTPUtility]::UrlEncode($Service))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Start service.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Service
Service ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesServicesStartByNodeAndService {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Service},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesServicesStartByNodeAndService' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/services/{service}/start'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesServicesStartByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Service) {
            throw "Error! The required parameter `Service` missing when calling newNodesServicesStartByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{service}', [System.Web.HTTPUtility]::UrlEncode($Service))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Stop service.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Service
Service ID

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesServicesStopByNodeAndService {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Service},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesServicesStopByNodeAndService' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/services/{service}/stop'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesServicesStopByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Service) {
            throw "Error! The required parameter `Service` missing when calling newNodesServicesStopByNodeAndService."
        }
        $LocalVarUri = $LocalVarUri.replace('{service}', [System.Web.HTTPUtility]::UrlEncode($Service))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Creates a SPICE shell.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesSpiceshellRB
Creates a SPICE shell.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesSpiceshellByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesSpiceshellRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesSpiceshellByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/spiceshell'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesSpiceshellByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesSpiceshellRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Start all VMs and containers located on this node (by default only those with onboot=1).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesStartallRB
Start all VMs and containers located on this node (by default only those with onboot=1).

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesStartallByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesStartallRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesStartallByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/startall'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesStartallByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesStartallRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Reboot or shutdown a node.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesStatusRB
Reboot or shutdown a node.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesStatusByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesStatusRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesStatusByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/status'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesStatusByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesStatusRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Stop all VMs and Containers.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesStopallRB
Stop all VMs and Containers.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesStopallByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesStopallRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesStopallByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/stopall'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesStopallByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesStopallRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Allocate disk images.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER POSTNodesStorageContentRB
Allocate disk images.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesStorageContentByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesStorageContentRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesStorageContentByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/content'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesStorageContentByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling newNodesStorageContentByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $POSTNodesStorageContentRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Copy a volume. This is experimental code - do not use.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER Volume
Source volume identifier

.PARAMETER POSTNodesStorageContentRB
Copy a volume. This is experimental code - do not use.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesStorageContentByNodeAndStorageAndVolume {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Volume},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesStorageContentRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesStorageContentByNodeAndStorageAndVolume' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/content/{volume}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling newNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))
        if (!$Volume) {
            throw "Error! The required parameter `Volume` missing when calling newNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{volume}', [System.Web.HTTPUtility]::UrlEncode($Volume))

        $LocalVarBodyParameter = $POSTNodesStorageContentRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Download templates, ISO images, OVAs and VM images by using an URL.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER POSTNodesStorageDownloadurlRB
Download templates, ISO images, OVAs and VM images by using an URL.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesStorageDownloadurlByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesStorageDownloadurlRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesStorageDownloadurlByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/download-url'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesStorageDownloadurlByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling newNodesStorageDownloadurlByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $POSTNodesStorageDownloadurlRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Upload templates, ISO images, OVAs and VM images.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER POSTNodesStorageUploadRB
Upload templates, ISO images, OVAs and VM images.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesStorageUploadByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesStorageUploadRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesStorageUploadByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/upload'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesStorageUploadByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling newNodesStorageUploadByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $POSTNodesStorageUploadRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Update subscription info.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesSubscriptionRB
Update subscription info.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesSubscriptionByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesSubscriptionRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesSubscriptionByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/subscription'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesSubscriptionByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesSubscriptionRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Suspend all VMs.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesSuspendallRB
Suspend all VMs.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesSuspendallByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesSuspendallRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesSuspendallByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/suspendall'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesSuspendallByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesSuspendallRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Creates a VNC Shell proxy.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesTermproxyRB
Creates a VNC Shell proxy.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesTermproxyByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesTermproxyRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesTermproxyByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/termproxy'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesTermproxyByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesTermproxyRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Creates a VNC Shell proxy.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER POSTNodesVncshellRB
Creates a VNC Shell proxy.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesVncshellByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesVncshellRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesVncshellByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/vncshell'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesVncshellByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesVncshellRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Create backup.

.DESCRIPTION

No description available.

.PARAMETER Node
Only run if executed on this node.

.PARAMETER POSTNodesVzdumpRB
Create backup.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesVzdumpByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${POSTNodesVzdumpRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesVzdumpByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/vzdump'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesVzdumpByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $POSTNodesVzdumpRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Try to wake a node via 'wake on LAN' network packet.

.DESCRIPTION

No description available.

.PARAMETER Node
target node for wake on LAN packet

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function New-PVENodesWakeonlanByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: New-PVENodesWakeonlanByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/wakeonlan'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling newNodesWakeonlanByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Destroy Ceph Metadata Server

.DESCRIPTION

No description available.

.PARAMETER Name
The name (ID) of the mds

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesCephMdsByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesCephMdsByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/mds/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesCephMdsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesCephMdsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Destroy Ceph Manager.

.DESCRIPTION

No description available.

.PARAMETER Id
The ID of the manager

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesCephMgrByNodeAndId {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesCephMgrByNodeAndId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/mgr/{id}'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling removeNodesCephMgrByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{id}', [System.Web.HTTPUtility]::UrlEncode($Id))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesCephMgrByNodeAndId."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Destroy Ceph Monitor and Manager.

.DESCRIPTION

No description available.

.PARAMETER Monid
Monitor ID

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesCephMonByNodeAndMonid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Monid},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesCephMonByNodeAndMonid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/ceph/mon/{monid}'
        if (!$Monid) {
            throw "Error! The required parameter `Monid` missing when calling removeNodesCephMonByNodeAndMonid."
        }
        $LocalVarUri = $LocalVarUri.replace('{monid}', [System.Web.HTTPUtility]::UrlEncode($Monid))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesCephMonByNodeAndMonid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Destroy OSD

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Osdid
OSD ID

.PARAMETER DELETENodesCephOsdRB
Destroy OSD

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesCephOsdByNodeAndOsdid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Osdid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesCephOsdRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesCephOsdByNodeAndOsdid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/osd/{osdid}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesCephOsdByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Osdid) {
            throw "Error! The required parameter `Osdid` missing when calling removeNodesCephOsdByNodeAndOsdid."
        }
        $LocalVarUri = $LocalVarUri.replace('{osdid}', [System.Web.HTTPUtility]::UrlEncode($Osdid))

        $LocalVarBodyParameter = $DELETENodesCephOsdRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Destroy pool

.DESCRIPTION

No description available.

.PARAMETER Name
The name of the pool. It must be unique.

.PARAMETER Node
The cluster node name.

.PARAMETER DELETENodesCephPoolRB
Destroy pool

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesCephPoolByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesCephPoolRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesCephPoolByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/pool/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesCephPoolByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesCephPoolByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $DELETENodesCephPoolRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Revoke existing certificate from CA.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesCertificatesAcmeCertificateByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesCertificatesAcmeCertificateByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/certificates/acme/certificate'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesCertificatesAcmeCertificateByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

DELETE custom certificate chain and key.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER DELETENodesCertificatesCustomRB
DELETE custom certificate chain and key.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesCertificatesCustomByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesCertificatesCustomRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesCertificatesCustomByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/certificates/custom'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesCertificatesCustomByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $DELETENodesCertificatesCustomRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Unmounts the storage and removes the mount unit.

.DESCRIPTION

No description available.

.PARAMETER Name
The storage identifier.

.PARAMETER Node
The cluster node name.

.PARAMETER DELETENodesDisksDirectoryRB
Unmounts the storage and removes the mount unit.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesDisksDirectoryByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesDisksDirectoryRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesDisksDirectoryByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/directory/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesDisksDirectoryByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesDisksDirectoryByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $DELETENodesDisksDirectoryRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Remove an LVM Volume Group.

.DESCRIPTION

No description available.

.PARAMETER Name
The storage identifier.

.PARAMETER Node
The cluster node name.

.PARAMETER DELETENodesDisksLvmRB
Remove an LVM Volume Group.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesDisksLvmByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesDisksLvmRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesDisksLvmByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/lvm/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesDisksLvmByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesDisksLvmByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $DELETENodesDisksLvmRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Remove an LVM thin pool.

.DESCRIPTION

No description available.

.PARAMETER Name
The storage identifier.

.PARAMETER Node
The cluster node name.

.PARAMETER DELETENodesDisksLvmthinRB
Remove an LVM thin pool.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesDisksLvmthinByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesDisksLvmthinRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesDisksLvmthinByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/lvmthin/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesDisksLvmthinByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesDisksLvmthinByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $DELETENodesDisksLvmthinRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Destroy a ZFS pool.

.DESCRIPTION

No description available.

.PARAMETER Name
The storage identifier.

.PARAMETER Node
The cluster node name.

.PARAMETER DELETENodesDisksZfsRB
Destroy a ZFS pool.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesDisksZfsByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesDisksZfsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesDisksZfsByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/zfs/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesDisksZfsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesDisksZfsByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $DELETENodesDisksZfsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete rule.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Pos
Update rule at position <pos>.

.PARAMETER DELETENodesFirewallRulesRB
Delete rule.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesFirewallRulesByNodeAndPos {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Pos},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesFirewallRulesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesFirewallRulesByNodeAndPos' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/firewall/rules/{pos}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesFirewallRulesByNodeAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Pos) {
            throw "Error! The required parameter `Pos` missing when calling removeNodesFirewallRulesByNodeAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{pos}', [System.Web.HTTPUtility]::UrlEncode($Pos))

        $LocalVarBodyParameter = $DELETENodesFirewallRulesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Destroy the container (also delete all uses files).

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesLxcRB
Destroy the container (also delete all uses files).

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesLxcByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesLxcRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesLxcByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesLxcByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesLxcByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesLxcRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Remove IP or Network alias.

.DESCRIPTION

No description available.

.PARAMETER Name
Alias name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesLxcFirewallAliasesRB
Remove IP or Network alias.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesLxcFirewallAliasesByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesLxcFirewallAliasesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesLxcFirewallAliasesByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesLxcFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesLxcFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesLxcFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesLxcFirewallAliasesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete IPSet

.DESCRIPTION

No description available.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesLxcFirewallIpsetRB
Delete IPSet

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesLxcFirewallIpsetByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesLxcFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesLxcFirewallIpsetByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesLxcFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesLxcFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesLxcFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesLxcFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Remove IP or Network from IPSet.

.DESCRIPTION

No description available.

.PARAMETER Cidr
Network/IP specification in CIDR format.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesLxcFirewallIpsetRB
Remove IP or Network from IPSet.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Cidr},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 4, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesLxcFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}'
        if (!$Cidr) {
            throw "Error! The required parameter `Cidr` missing when calling removeNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{cidr}', [System.Web.HTTPUtility]::UrlEncode($Cidr))
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesLxcFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete rule.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Pos
Update rule at position <pos>.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesLxcFirewallRulesRB
Delete rule.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesLxcFirewallRulesByNodeAndVmidAndPos {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Pos},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesLxcFirewallRulesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesLxcFirewallRulesByNodeAndVmidAndPos' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesLxcFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Pos) {
            throw "Error! The required parameter `Pos` missing when calling removeNodesLxcFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{pos}', [System.Web.HTTPUtility]::UrlEncode($Pos))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesLxcFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesLxcFirewallRulesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete a LXC snapshot.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesLxcSnapshotRB
Delete a LXC snapshot.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesLxcSnapshotByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesLxcSnapshotRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesLxcSnapshotByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/snapshot/{snapname}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesLxcSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling removeNodesLxcSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesLxcSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesLxcSnapshotRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Revert network configuration changes.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesNetworkByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesNetworkByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/network'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesNetworkByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete network device configuration

.DESCRIPTION

No description available.

.PARAMETER Iface
Network interface name.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesNetworkByNodeAndIface {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Iface},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesNetworkByNodeAndIface' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/network/{iface}'
        if (!$Iface) {
            throw "Error! The required parameter `Iface` missing when calling removeNodesNetworkByNodeAndIface."
        }
        $LocalVarUri = $LocalVarUri.replace('{iface}', [System.Web.HTTPUtility]::UrlEncode($Iface))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesNetworkByNodeAndIface."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Destroy the VM and all used/owned volumes. Removes any VM specific permissions and firewall rules

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesQemuRB
Destroy the VM and all used/owned volumes. Removes any VM specific permissions and firewall rules

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesQemuByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesQemuRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesQemuByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesQemuByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesQemuByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesQemuRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Remove IP or Network alias.

.DESCRIPTION

No description available.

.PARAMETER Name
Alias name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesQemuFirewallAliasesRB
Remove IP or Network alias.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesQemuFirewallAliasesByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesQemuFirewallAliasesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesQemuFirewallAliasesByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesQemuFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesQemuFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesQemuFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesQemuFirewallAliasesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete IPSet

.DESCRIPTION

No description available.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesQemuFirewallIpsetRB
Delete IPSet

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesQemuFirewallIpsetByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesQemuFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesQemuFirewallIpsetByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesQemuFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesQemuFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesQemuFirewallIpsetByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesQemuFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Remove IP or Network from IPSet.

.DESCRIPTION

No description available.

.PARAMETER Cidr
Network/IP specification in CIDR format.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesQemuFirewallIpsetRB
Remove IP or Network from IPSet.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Cidr},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 4, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesQemuFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}'
        if (!$Cidr) {
            throw "Error! The required parameter `Cidr` missing when calling removeNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{cidr}', [System.Web.HTTPUtility]::UrlEncode($Cidr))
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling removeNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesQemuFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete rule.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Pos
Update rule at position <pos>.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesQemuFirewallRulesRB
Delete rule.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesQemuFirewallRulesByNodeAndVmidAndPos {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Pos},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesQemuFirewallRulesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesQemuFirewallRulesByNodeAndVmidAndPos' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesQemuFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Pos) {
            throw "Error! The required parameter `Pos` missing when calling removeNodesQemuFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{pos}', [System.Web.HTTPUtility]::UrlEncode($Pos))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesQemuFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesQemuFirewallRulesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete a VM snapshot.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER DELETENodesQemuSnapshotRB
Delete a VM snapshot.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesQemuSnapshotByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesQemuSnapshotRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesQemuSnapshotByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/snapshot/{snapname}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesQemuSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling removeNodesQemuSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling removeNodesQemuSnapshotByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $DELETENodesQemuSnapshotRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete volume

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER Volume
Volume identifier

.PARAMETER DELETENodesStorageContentRB
Delete volume

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesStorageContentByNodeAndStorageAndVolume {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Volume},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesStorageContentRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesStorageContentByNodeAndStorageAndVolume' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/content/{volume}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling removeNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))
        if (!$Volume) {
            throw "Error! The required parameter `Volume` missing when calling removeNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{volume}', [System.Web.HTTPUtility]::UrlEncode($Volume))

        $LocalVarBodyParameter = $DELETENodesStorageContentRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Prune backups. Only those using the standard naming scheme are considered.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER DELETENodesStoragePrunebackupsRB
Prune backups. Only those using the standard naming scheme are considered.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesStoragePrunebackupsByNodeAndStorage {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${DELETENodesStoragePrunebackupsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesStoragePrunebackupsByNodeAndStorage' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/prunebackups'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesStoragePrunebackupsByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling removeNodesStoragePrunebackupsByNodeAndStorage."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))

        $LocalVarBodyParameter = $DELETENodesStoragePrunebackupsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Delete subscription key of this node.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesSubscriptionByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesSubscriptionByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/subscription'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesSubscriptionByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Stop a task.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Upid
No description available.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Remove-PVENodesTasksByNodeAndUpid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Upid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Remove-PVENodesTasksByNodeAndUpid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/tasks/{upid}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling removeNodesTasksByNodeAndUpid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Upid) {
            throw "Error! The required parameter `Upid` missing when calling removeNodesTasksByNodeAndUpid."
        }
        $LocalVarUri = $LocalVarUri.replace('{upid}', [System.Web.HTTPUtility]::UrlEncode($Upid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Add a standard repository to the configuration

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesAptRepositoriesRB
Add a standard repository to the configuration

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesAptRepositoriesByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesAptRepositoriesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesAptRepositoriesByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/apt/repositories'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesAptRepositoriesByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesAptRepositoriesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Change POOL settings

.DESCRIPTION

No description available.

.PARAMETER Name
The name of the pool. It must be unique.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesCephPoolRB
Change POOL settings

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesCephPoolByNodeAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesCephPoolRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesCephPoolByNodeAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/ceph/pool/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling setNodesCephPoolByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesCephPoolByNodeAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesCephPoolRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Renew existing certificate from CA.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesCertificatesAcmeCertificateRB
Renew existing certificate from CA.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesCertificatesAcmeCertificateByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesCertificatesAcmeCertificateRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesCertificatesAcmeCertificateByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/certificates/acme/certificate'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesCertificatesAcmeCertificateByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesCertificatesAcmeCertificateRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Set node configuration options.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesConfigRB
Set node configuration options.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesConfigByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesConfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesConfigByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesConfigByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesConfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Wipe a disk or partition.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesDisksWipediskRB
Wipe a disk or partition.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesDisksWipediskByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesDisksWipediskRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesDisksWipediskByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/disks/wipedisk'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesDisksWipediskByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesDisksWipediskRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Write DNS settings.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesDnsRB
Write DNS settings.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesDnsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesDnsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesDnsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/dns'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesDnsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesDnsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Set Firewall options.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesFirewallOptionsRB
Set Firewall options.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesFirewallOptionsByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesFirewallOptionsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesFirewallOptionsByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/firewall/options'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesFirewallOptionsByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesFirewallOptionsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Modify rule data.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Pos
Update rule at position <pos>.

.PARAMETER PUTNodesFirewallRulesRB
Modify rule data.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesFirewallRulesByNodeAndPos {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Pos},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesFirewallRulesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesFirewallRulesByNodeAndPos' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/firewall/rules/{pos}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesFirewallRulesByNodeAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Pos) {
            throw "Error! The required parameter `Pos` missing when calling setNodesFirewallRulesByNodeAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{pos}', [System.Web.HTTPUtility]::UrlEncode($Pos))

        $LocalVarBodyParameter = $PUTNodesFirewallRulesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Set container options.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesLxcConfigRB
Set container options.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesLxcConfigByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesLxcConfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesLxcConfigByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesLxcConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesLxcConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesLxcConfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Update IP or Network alias.

.DESCRIPTION

No description available.

.PARAMETER Name
Alias name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesLxcFirewallAliasesRB
Update IP or Network alias.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesLxcFirewallAliasesByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesLxcFirewallAliasesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesLxcFirewallAliasesByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling setNodesLxcFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesLxcFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesLxcFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesLxcFirewallAliasesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Update IP or Network settings

.DESCRIPTION

No description available.

.PARAMETER Cidr
Network/IP specification in CIDR format.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesLxcFirewallIpsetRB
Update IP or Network settings

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Cidr},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 4, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesLxcFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}'
        if (!$Cidr) {
            throw "Error! The required parameter `Cidr` missing when calling setNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{cidr}', [System.Web.HTTPUtility]::UrlEncode($Cidr))
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling setNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesLxcFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesLxcFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Set Firewall options.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesLxcFirewallOptionsRB
Set Firewall options.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesLxcFirewallOptionsByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesLxcFirewallOptionsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesLxcFirewallOptionsByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/options'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesLxcFirewallOptionsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesLxcFirewallOptionsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesLxcFirewallOptionsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Modify rule data.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Pos
Update rule at position <pos>.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesLxcFirewallRulesRB
Modify rule data.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesLxcFirewallRulesByNodeAndVmidAndPos {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Pos},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesLxcFirewallRulesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesLxcFirewallRulesByNodeAndVmidAndPos' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesLxcFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Pos) {
            throw "Error! The required parameter `Pos` missing when calling setNodesLxcFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{pos}', [System.Web.HTTPUtility]::UrlEncode($Pos))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesLxcFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesLxcFirewallRulesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Resize a container mount point.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesLxcResizeRB
Resize a container mount point.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesLxcResizeByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesLxcResizeRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesLxcResizeByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/resize'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesLxcResizeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesLxcResizeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesLxcResizeRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Update snapshot metadata.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesLxcSnapshotConfigRB
Update snapshot metadata.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesLxcSnapshotConfigByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesLxcSnapshotConfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesLxcSnapshotConfigByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesLxcSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling setNodesLxcSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesLxcSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesLxcSnapshotConfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Reload network configuration

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesNetworkByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesNetworkByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/network'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesNetworkByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Update network device configuration

.DESCRIPTION

No description available.

.PARAMETER Iface
Network interface name.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesNetworkRB
Update network device configuration

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesNetworkByNodeAndIface {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Iface},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesNetworkRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesNetworkByNodeAndIface' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/network/{iface}'
        if (!$Iface) {
            throw "Error! The required parameter `Iface` missing when calling setNodesNetworkByNodeAndIface."
        }
        $LocalVarUri = $LocalVarUri.replace('{iface}', [System.Web.HTTPUtility]::UrlEncode($Iface))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesNetworkByNodeAndIface."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesNetworkRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Regenerate and change cloudinit config drive.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuCloudinitByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuCloudinitByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/cloudinit'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuCloudinitByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuCloudinitByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Set virtual machine options (synchronous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesQemuConfigRB
Set virtual machine options (synchronous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuConfigByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesQemuConfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuConfigByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuConfigByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesQemuConfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Update IP or Network alias.

.DESCRIPTION

No description available.

.PARAMETER Name
Alias name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesQemuFirewallAliasesRB
Update IP or Network alias.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuFirewallAliasesByNodeAndVmidAndName {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesQemuFirewallAliasesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuFirewallAliasesByNodeAndVmidAndName' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}'
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling setNodesQemuFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuFirewallAliasesByNodeAndVmidAndName."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesQemuFirewallAliasesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Update IP or Network settings

.DESCRIPTION

No description available.

.PARAMETER Cidr
Network/IP specification in CIDR format.

.PARAMETER Name
IP set name.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesQemuFirewallIpsetRB
Update IP or Network settings

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Cidr},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Name},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 4, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesQemuFirewallIpsetRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}'
        if (!$Cidr) {
            throw "Error! The required parameter `Cidr` missing when calling setNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{cidr}', [System.Web.HTTPUtility]::UrlEncode($Cidr))
        if (!$Name) {
            throw "Error! The required parameter `Name` missing when calling setNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{name}', [System.Web.HTTPUtility]::UrlEncode($Name))
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuFirewallIpsetByNodeAndVmidAndNameAndCidr."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesQemuFirewallIpsetRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Set Firewall options.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesQemuFirewallOptionsRB
Set Firewall options.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuFirewallOptionsByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesQemuFirewallOptionsRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuFirewallOptionsByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/options'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuFirewallOptionsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuFirewallOptionsByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesQemuFirewallOptionsRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Modify rule data.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Pos
Update rule at position <pos>.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesQemuFirewallRulesRB
Modify rule data.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuFirewallRulesByNodeAndVmidAndPos {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Pos},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesQemuFirewallRulesRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuFirewallRulesByNodeAndVmidAndPos' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Pos) {
            throw "Error! The required parameter `Pos` missing when calling setNodesQemuFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{pos}', [System.Web.HTTPUtility]::UrlEncode($Pos))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuFirewallRulesByNodeAndVmidAndPos."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesQemuFirewallRulesRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Extend volume size.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesQemuResizeRB
Extend volume size.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuResizeByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesQemuResizeRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuResizeByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/resize'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuResizeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuResizeByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesQemuResizeRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Send key event to virtual machine.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesQemuSendkeyRB
Send key event to virtual machine.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuSendkeyByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesQemuSendkeyRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuSendkeyByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/sendkey'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuSendkeyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuSendkeyByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesQemuSendkeyRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Update snapshot metadata.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Snapname
The name of the snapshot.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesQemuSnapshotConfigRB
Update snapshot metadata.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuSnapshotConfigByNodeAndVmidAndSnapname {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Snapname},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesQemuSnapshotConfigRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuSnapshotConfigByNodeAndVmidAndSnapname' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Snapname) {
            throw "Error! The required parameter `Snapname` missing when calling setNodesQemuSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{snapname}', [System.Web.HTTPUtility]::UrlEncode($Snapname))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuSnapshotConfigByNodeAndVmidAndSnapname."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesQemuSnapshotConfigRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Unlink/delete disk images.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Vmid
The (unique) ID of the VM.

.PARAMETER PUTNodesQemuUnlinkRB
Unlink/delete disk images.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesQemuUnlinkByNodeAndVmid {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [Int32]
        ${Vmid},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesQemuUnlinkRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesQemuUnlinkByNodeAndVmid' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/qemu/{vmid}/unlink'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesQemuUnlinkByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Vmid) {
            throw "Error! The required parameter `Vmid` missing when calling setNodesQemuUnlinkByNodeAndVmid."
        }
        $LocalVarUri = $LocalVarUri.replace('{vmid}', [System.Web.HTTPUtility]::UrlEncode($Vmid))

        $LocalVarBodyParameter = $PUTNodesQemuUnlinkRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Update volume attributes

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER Storage
The storage identifier.

.PARAMETER Volume
Volume identifier

.PARAMETER PUTNodesStorageContentRB
Update volume attributes

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesStorageContentByNodeAndStorageAndVolume {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Storage},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Volume},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesStorageContentRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesStorageContentByNodeAndStorageAndVolume' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/storage/{storage}/content/{volume}'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))
        if (!$Storage) {
            throw "Error! The required parameter `Storage` missing when calling setNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{storage}', [System.Web.HTTPUtility]::UrlEncode($Storage))
        if (!$Volume) {
            throw "Error! The required parameter `Volume` missing when calling setNodesStorageContentByNodeAndStorageAndVolume."
        }
        $LocalVarUri = $LocalVarUri.replace('{volume}', [System.Web.HTTPUtility]::UrlEncode($Volume))

        $LocalVarBodyParameter = $PUTNodesStorageContentRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Set subscription key.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesSubscriptionRB
Set subscription key.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesSubscriptionByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesSubscriptionRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesSubscriptionByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/subscription'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesSubscriptionByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesSubscriptionRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}

<#
.SYNOPSIS

Set time zone.

.DESCRIPTION

No description available.

.PARAMETER Node
The cluster node name.

.PARAMETER PUTNodesTimeRB
Set time zone.

.PARAMETER WithHttpInfo

A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response

.OUTPUTS

None
#>

function Set-PVENodesTimeByNode {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Node},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${PUTNodesTimeRB},
        [Switch]
        $WithHttpInfo
    )

    Process {
        'Calling method: Set-PVENodesTimeByNode' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarFormParameters = @{}
        $LocalVarPathParameters = @{}
        $LocalVarCookieParameters = @{}
        $LocalVarBodyParameter = $null

        $Configuration = Get-PVEConfiguration
        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/nodes/{node}/time'
        if (!$Node) {
            throw "Error! The required parameter `Node` missing when calling setNodesTimeByNode."
        }
        $LocalVarUri = $LocalVarUri.replace('{node}', [System.Web.HTTPUtility]::UrlEncode($Node))

        $LocalVarBodyParameter = $PUTNodesTimeRB | ConvertTo-Json -Depth 100

        $LocalVarResult = Invoke-PVEApiClient -Method 'PUT' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -FormParameters $LocalVarFormParameters `
                                -CookieParameters $LocalVarCookieParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        if ($WithHttpInfo.IsPresent) {
            return $LocalVarResult
        } else {
            return $LocalVarResult["Response"]
        }
    }
}