> 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 Registration Surface

> API documentation for the Rust `RegistrationSurface` enum in crate `nemo_relay_worker_proto`.

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
#[repr(i32)]pub enum RegistrationSurface {
Show 13 variants    Unspecified = 0,
    Subscriber = 1,
    ToolSanitizeRequestGuardrail = 10,
    ToolSanitizeResponseGuardrail = 11,
    ToolConditionalExecutionGuardrail = 12,
    ToolRequestIntercept = 13,
    ToolExecutionIntercept = 14,
    LlmSanitizeRequestGuardrail = 20,
    LlmSanitizeResponseGuardrail = 21,
    LlmConditionalExecutionGuardrail = 22,
    LlmRequestIntercept = 23,
    LlmExecutionIntercept = 24,
    LlmStreamExecutionIntercept = 25,
}
```

## Variants

### `Unspecified = 0`

<pre />

### `Subscriber = 1`

<pre />

### `ToolSanitizeRequestGuardrail = 10`

<pre />

### `ToolSanitizeResponseGuardrail = 11`

<pre />

### `ToolConditionalExecutionGuardrail = 12`

<pre />

### `ToolRequestIntercept = 13`

<pre />

### `ToolExecutionIntercept = 14`

<pre />

### `LlmSanitizeRequestGuardrail = 20`

<pre />

### `LlmSanitizeResponseGuardrail = 21`

<pre />

### `LlmConditionalExecutionGuardrail = 22`

<pre />

### `LlmRequestIntercept = 23`

<pre />

### `LlmExecutionIntercept = 24`

<pre />

### `LlmStreamExecutionIntercept = 25`

<pre />

## Implementations

### `impl RegistrationSurface`

<pre />

#### `is_valid`

<pre />

Returns `true` if `value` is a variant of `RegistrationSurface`.

#### `from_i32`

<pre />

Converts an `i32` to a `RegistrationSurface`, or `None` if `value` is not a valid variant.

### `impl RegistrationSurface`

<pre />

#### `as_str_name`

<pre />

String value of the enum field names used in the ProtoBuf definition.

The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.

#### `from_str_name`

<pre />

Creates an enum from field names used in the ProtoBuf definition.

## Trait Implementations

### `impl Clone for RegistrationSurface`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for RegistrationSurface`

<pre />

#### `fmt`

<pre />

### `impl Default for RegistrationSurface`

<pre />

#### `default`

<pre />

### `impl From<RegistrationSurface> for i32`

<pre />

#### `from`

<pre />

### `impl Hash for RegistrationSurface`

<pre />

#### `hash`

<pre />

#### `hash_slice`

<pre />

### `impl Ord for RegistrationSurface`

<pre />

#### `cmp`

<pre />

#### `max`

<pre />

#### `min`

<pre />

#### `clamp`

<pre />

### `impl PartialEq for RegistrationSurface`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl PartialOrd for RegistrationSurface`

<pre />

#### `partial_cmp`

<pre />

#### `lt`

<pre />

#### `le`

<pre />

#### `gt`

<pre />

#### `ge`

<pre />

### `impl TryFrom<i32> for RegistrationSurface`

<pre />

#### `Error`

<pre />

#### `try_from`

<pre />

### `impl Copy for RegistrationSurface`

<pre />

### `impl Eq for RegistrationSurface`

<pre />

### `impl StructuralPartialEq for RegistrationSurface`

<pre />