zpool.scrub.run
===============

Start, pause, or cancel a scrub on a ZFS pool.

When ``action`` is START, the pool is validated before the scrub begins: the pool must be ONLINE or DEGRADED, must not have an active resilver, and the most recent scrub must be older than ``threshold`` days. If any of these checks fail the call returns silently (no error, no alert). The job blocks until the scrub finishes, is paused, or is canceled.

PAUSE and CANCEL skip validation entirely and operate on the pool directly.

At most 10 scrubs may run concurrently across all pools. Attempting to start an 11th raises an error.

On a successful START a ``ScrubStarted`` alert is created. If the start fails for a reason other than the threshold or HA checks, a ``ScrubNotStarted`` alert is created instead.

.. versionadded:: 27.0.0

This method is a job.

.. raw:: html

    <div id="json-schema">
    <span class="badge badge-dark value-type">Type: object</span><br/>
    <div class="accordion" id="accordionCall_parameters">
    <div class="card">
    <div class="card-header" id="headingCall_parameters">
    <h2 class="mb-0">
    <button aria-controls="Call_parameters" aria-expanded="" class="btn btn-link property-name-button" data-target="#Call_parameters" data-toggle="collapse" onclick="setAnchor('#Call_parameters')" type="button"><span class="property-name">Call parameters</span></button>
    </h2>
    </div>
    <div aria-labelledby="headingCall_parameters" class="collapse property-definition-div" data-parent="#accordionCall_parameters" id="Call_parameters">
    <div class="card-body pl-5">
    <span class="badge badge-dark value-type">Type: array</span><br/>
    <span class="badge badge-info no-additional">No Additional Items</span><h4>Tuple Validation</h4>
    <h5>Parameter 1: data</h5>
    <div class="card">
    <div class="card-body items-definition" id="Call_parameters_items_i0">
    <h4>data</h4><span class="badge badge-dark value-type">Type: object</span><br/>
    <span class="description"><p>Scrub run parameters.</p>
    </span> <span class="badge badge-info no-additional">No Additional Properties</span>
    <div class="accordion" id="accordionCall_parameters_items_i0_pool_name">
    <div class="card">
    <div class="card-header" id="headingCall_parameters_items_i0_pool_name">
    <h2 class="mb-0">
    <button aria-controls="Call_parameters_items_i0_pool_name" aria-expanded="" class="btn btn-link property-name-button" data-target="#Call_parameters_items_i0_pool_name" data-toggle="collapse" onclick="setAnchor('#Call_parameters_items_i0_pool_name')" type="button"><span class="property-name">pool_name</span> <span class="badge badge-warning required-property">Required</span></button>
    </h2>
    </div>
    <div aria-labelledby="headingCall_parameters_items_i0_pool_name" class="collapse property-definition-div" data-parent="#accordionCall_parameters_items_i0_pool_name" id="Call_parameters_items_i0_pool_name">
    <div class="card-body pl-5">
    <h4>Pool Name</h4><span class="badge badge-dark value-type">Type: string</span><br/>
    <span class="description"><p>Name of the zpool.</p>
    </span>
    </div>
    </div>
    </div>
    </div>
    <div class="accordion" id="accordionCall_parameters_items_i0_scan_type">
    <div class="card">
    <div class="card-header" id="headingCall_parameters_items_i0_scan_type">
    <h2 class="mb-0">
    <button aria-controls="Call_parameters_items_i0_scan_type" aria-expanded="" class="btn btn-link property-name-button" data-target="#Call_parameters_items_i0_scan_type" data-toggle="collapse" onclick="setAnchor('#Call_parameters_items_i0_scan_type')" type="button"><span class="property-name">scan_type</span></button>
    </h2>
    </div>
    <div aria-labelledby="headingCall_parameters_items_i0_scan_type" class="collapse property-definition-div" data-parent="#accordionCall_parameters_items_i0_scan_type" id="Call_parameters_items_i0_scan_type">
    <div class="card-body pl-5">
    <h4>Scan Type</h4><span class="badge badge-dark value-type">Type: enum (of string)</span> <span class="badge badge-success default-value">Default: "SCRUB"</span><br/>
    <span class="description"><p>SCRUB: full data integrity scan. ERRORSCRUB: targeted scan of blocks with known errors.</p>
    </span><div class="enum-value" id="Call_parameters_items_i0_scan_type_enum">
    <h5>Must be one of:</h5>
    <ul class="list-group"><li class="list-group-item enum-item">"SCRUB"</li><li class="list-group-item enum-item">"ERRORSCRUB"</li></ul>
    </div>
    </div>
    </div>
    </div>
    </div>
    <div class="accordion" id="accordionCall_parameters_items_i0_action">
    <div class="card">
    <div class="card-header" id="headingCall_parameters_items_i0_action">
    <h2 class="mb-0">
    <button aria-controls="Call_parameters_items_i0_action" aria-expanded="" class="btn btn-link property-name-button" data-target="#Call_parameters_items_i0_action" data-toggle="collapse" onclick="setAnchor('#Call_parameters_items_i0_action')" type="button"><span class="property-name">action</span></button>
    </h2>
    </div>
    <div aria-labelledby="headingCall_parameters_items_i0_action" class="collapse property-definition-div" data-parent="#accordionCall_parameters_items_i0_action" id="Call_parameters_items_i0_action">
    <div class="card-body pl-5">
    <h4>Action</h4><span class="badge badge-dark value-type">Type: enum (of string)</span> <span class="badge badge-success default-value">Default: "START"</span><br/>
    <span class="description"><p>START: begin or resume. PAUSE: pause in-progress scan. CANCEL: stop entirely.</p>
    </span><div class="enum-value" id="Call_parameters_items_i0_action_enum">
    <h5>Must be one of:</h5>
    <ul class="list-group"><li class="list-group-item enum-item">"START"</li><li class="list-group-item enum-item">"PAUSE"</li><li class="list-group-item enum-item">"CANCEL"</li></ul>
    </div>
    </div>
    </div>
    </div>
    </div>
    <div class="accordion" id="accordionCall_parameters_items_i0_threshold">
    <div class="card">
    <div class="card-header" id="headingCall_parameters_items_i0_threshold">
    <h2 class="mb-0">
    <button aria-controls="Call_parameters_items_i0_threshold" aria-expanded="" class="btn btn-link property-name-button" data-target="#Call_parameters_items_i0_threshold" data-toggle="collapse" onclick="setAnchor('#Call_parameters_items_i0_threshold')" type="button"><span class="property-name">threshold</span></button>
    </h2>
    </div>
    <div aria-labelledby="headingCall_parameters_items_i0_threshold" class="collapse property-definition-div" data-parent="#accordionCall_parameters_items_i0_threshold" id="Call_parameters_items_i0_threshold">
    <div class="card-body pl-5">
    <h4>Threshold</h4><span class="badge badge-dark value-type">Type: integer</span> <span class="badge badge-success default-value">Default: 35</span><br/>
    <span class="description"><p>Days before a scrub is due when the scrub should start.</p>
    </span>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    <div class="accordion" id="accordionReturn_value">
    <div class="card">
    <div class="card-header" id="headingReturn_value">
    <h2 class="mb-0">
    <button aria-controls="Return_value" aria-expanded="" class="btn btn-link property-name-button" data-target="#Return_value" data-toggle="collapse" onclick="setAnchor('#Return_value')" type="button"><span class="property-name">Return value</span></button>
    </h2>
    </div>
    <div aria-labelledby="headingReturn_value" class="collapse property-definition-div" data-parent="#accordionReturn_value" id="Return_value">
    <div class="card-body pl-5">
    <h4>Result</h4><span class="badge badge-dark value-type">Type: null</span><br/>
    </div>
    </div>
    </div>
    </div>
    </div><br><br>

*Required roles:* POOL_WRITE

