> This page is for NeMo Relay, version dev.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.4) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Enum Failure Class

> Supported general cause, independent of health, retries, and operation outcome.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

```rust
#[non_exhaustive]pub enum FailureClass {
Show 16 variants    InvalidInput,
    InvalidState,
    NotFound,
    Conflict,
    Authentication,
    PermissionDenied,
    Unsupported,
    Incompatible,
    Timeout,
    Unavailable,
    ResourceExhausted,
    Io,
    ExecutionFailed,
    PolicyRejected,
    Internal,
    Unknown,
}
```

Supported general cause, independent of health, retries, and operation outcome.

## Variants (Non-exhaustive)

### `InvalidInput`

<pre />

The supplied input is invalid.

### `InvalidState`

<pre />

The operation is invalid in the observed state.

### `NotFound`

<pre />

The requested resource was not found.

### `Conflict`

<pre />

The operation conflicts with an existing resource or state.

### `Authentication`

<pre />

Authentication or the existing authentication classification failed.

### `PermissionDenied`

<pre />

Structured evidence establishes denied permission.

### `Unsupported`

<pre />

The requested capability is unsupported.

### `Incompatible`

<pre />

Observed versions or protocols are incompatible.

### `Timeout`

<pre />

The operation exceeded its deadline.

### `Unavailable`

<pre />

The dependency or service was unavailable.

### `ResourceExhausted`

<pre />

An observed capacity limit was reached.

### `Io`

<pre />

Structured evidence establishes an I/O failure.

### `ExecutionFailed`

<pre />

A callback or operation failed during execution.

### `PolicyRejected`

<pre />

An existing policy refused the operation.

### `Internal`

<pre />

The source reported an internal failure.

### `Unknown`

<pre />

A failure was observed without a supported more specific cause.

## Implementations

### `impl FailureClass`

<pre />

#### `from_canonical_name`

<pre />

Interpret an exact supported canonical name without allocating.

#### `as_str`

<pre />

Stable portable name, also available in const contexts.

## Trait Implementations

### `impl<O> BitAnd<O> for FailureClasswhere O: Into<EnumSet<FailureClass>>,`

<pre />

#### `Output`

<pre />

#### `bitand`

<pre />

### `impl<O> BitOr<O> for FailureClasswhere O: Into<EnumSet<FailureClass>>,`

<pre />

#### `Output`

<pre />

#### `bitor`

<pre />

### `impl<O> BitXor<O> for FailureClasswhere O: Into<EnumSet<FailureClass>>,`

<pre />

#### `Output`

<pre />

#### `bitxor`

<pre />

### `impl Clone for FailureClass`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for FailureClass`

<pre />

#### `fmt`

<pre />

### `impl<'de> Deserialize<'de> for FailureClass`

<pre />

#### `deserialize`

<pre />

### `impl<'_derivative_strum> From<&'_derivative_strum FailureClass> for &'static str`

<pre />

#### `from`

<pre />

### `impl From<FailureClass> for &'static str`

<pre />

#### `from`

<pre />

### `impl FromStr for FailureClass`

<pre />

#### `Err`

<pre />

#### `from_str`

<pre />

### `impl Hash for FailureClass`

<pre />

#### `hash`

<pre />

#### `hash_slice`

<pre />

### `impl Not for FailureClass`

<pre />

#### `Output`

<pre />

#### `not`

<pre />

### `impl Ord for FailureClass`

<pre />

#### `cmp`

<pre />

#### `max`

<pre />

#### `min`

<pre />

#### `clamp`

<pre />

### `impl PartialEq<EnumSet<FailureClass>> for FailureClass`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl PartialEq for FailureClass`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl PartialOrd for FailureClass`

<pre />

#### `partial_cmp`

<pre />

#### `lt`

<pre />

#### `le`

<pre />

#### `gt`

<pre />

#### `ge`

<pre />

### `impl Serialize for FailureClass`

<pre />

#### `serialize`

<pre />

### `impl<O> Sub<O> for FailureClasswhere O: Into<EnumSet<FailureClass>>,`

<pre />

#### `Output`

<pre />

#### `sub`

<pre />

### `impl TryFrom<&str> for FailureClass`

<pre />

#### `Error`

<pre />

#### `try_from`

<pre />

### `impl Copy for FailureClass`

<pre />

### `impl EnumSetType for FailureClass`

<pre />

### `impl Eq for FailureClass`

<pre />

### `impl StructuralPartialEq for FailureClass`

<pre />