public/Resume-UnraidParityCheck.ps1
|
function Resume-UnraidParityCheck { <# .SYNOPSIS Resumes a paused parity check. .PARAMETER Array Array object (auto-retrieves if not provided). .PARAMETER Session Unraid session (defaults to current session). .EXAMPLE Resume-UnraidParityCheck #> [CmdletBinding(SupportsShouldProcess)] [OutputType('void')] param( [Parameter(ValueFromPipeline)] [UnraidArray]$Array, [Parameter()] [UnraidSession]$Session = $script:DefaultUnraidSession ) process { if (! $Array) { $Array = Get-UnraidArray } if ($Array.ParityStatus -ne "PAUSED") { Write-Error "No paused parity check found." return } if ($PSCmdlet.ShouldProcess("Unraid Array", "Resume Parity Check")) { $gqlQuery = @" mutation ResumeCheck { parityCheck { resume } } "@ $result = Invoke-UnraidQuery -Query $gqlQuery -Session $Session if ($result) { Write-Information "Parity check resumed: Continuing..." -InformationAction Continue } } } } |