Capability Type
What this host can do on ONE axis of the containment contract — the honest three-valued answer the capability snapshot reports instead of a bare `bool`. A boolean `false` says nothing about *why*, or about what would make it true, so a caller can neither explain the refusal to an operator nor act on it. Every value here carries that missing half: a `Qualified` capability states the qualification it holds under, and an `Unsupported` one states the precondition that is missing. This mirrors the rest of the library, where an unavailable operation is a typed `ProcessError` naming what it needed — never a silent downgrade. The verb itself stays the authority at the moment it runs (see `ContainmentCapabilities`): this is a point-in-time report, not a promise about a later call.
Union cases
| Union case |
Description
|
Full Usage:
Available
|
Available on this host, unconditionally, for the options the snapshot was taken for. |
Full Usage:
Qualified Qualification
Parameters:
string
|
Available, but only under the stated qualification — a platform ceiling (the Windows affinity mask covering one processor group), an approximation (the Windows CPU quota), or a precondition that cannot be probed without side effects (a Linux cgroup hierarchy that must be delegated from its real root). Read it before relying on the capability; the qualification is exactly what the corresponding verb still checks for itself.
|
Full Usage:
Unsupported Requires
Parameters:
string
|
Not available here, with the precondition that is missing — a helper binary absent from every trusted directory, a kernel mechanism the OS does not have, a controller this cgroup hierarchy does not carry. The matching verb refuses with its own typed `ProcessError` (`Unsupported` where the mechanism has no such concept at all, `ResourceLimit` where the cap exists in principle but nothing here can enforce it), never a silent no-op.
|
Instance members
| Instance member |
Description
|
Full Usage:
this.Detail
Returns: string option
|
The qualification (`Qualified`) or the missing precondition (`Unsupported`) as text, and `None` when the capability is unconditionally `Available` — one accessor for a log line or a status page that does not want to match on the case.
|
Full Usage:
this.IsAvailable
Returns: bool
|
|
Full Usage:
this.IsQualified
Returns: bool
|
|
Full Usage:
this.IsUnsupported
Returns: bool
|
|
ProcessKit API Reference