> This page is for NeMo Relay, version v0.10.0.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.0) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.10.0: https://docs.nvidia.com/nemo/relay/v0.10.0/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
> - v0.6.0: https://docs.nvidia.com/nemo/relay/v0.6.0/llms.txt
> - v0.5.0: https://docs.nvidia.com/nemo/relay/v0.5.0/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.

# Struct Dynamic Plugin Registry

> In-memory dynamic plugin registry used by the control plane.

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
pub struct DynamicPluginRegistry { /* private fields */ }
```

In-memory dynamic plugin registry used by the control plane.

## Implementations

### `impl DynamicPluginRegistry`

<pre />

#### `new`

<pre />

Creates an empty dynamic plugin registry.

#### `from_records`

<pre />

Reconstructs a registry from previously persisted durable records.

#### `get`

<pre />

Returns the registered record for `plugin_id`, if present.

#### `list`

<pre />

Lists records, hiding tombstones unless requested.

#### `cloned_records`

<pre />

Clones records for serialization or higher-level projection.

#### `add`

<pre />

Adds a new dynamic plugin record.

This is a trusted internal control-plane API. Callers that start from an authored `relay-plugin.toml` manifest should prefer [`Self::add_manifest`](/reference/api/rust-library-reference/nemo-relay/plugin/dynamic/struct-dynamicpluginregistry) so the manifest contract is enforced before record creation.

#### `add_manifest`

<pre />

Validates an authored manifest and registers the resulting dynamic plugin record.

#### `enable`

<pre />

Marks the plugin enabled in desired state.

#### `disable`

<pre />

Marks the plugin disabled in desired state.

#### `remove`

<pre />

Tombstones the plugin record and disables desired runtime realization.

#### `update_validation_status`

<pre />

Replaces the current validation status without mutating desired state.

#### `update_runtime_status`

<pre />

Replaces the current runtime status without mutating desired state.

#### `update_last_error`

<pre />

Records the most recent dynamic-plugin failure summary.

#### `update_environment`

<pre />

Replaces the resolved worker environment and its validation state.

#### `update_policy_status`

<pre />

Replaces the current host-policy outcome without mutating desired state.

#### `replace_declaration`

<pre />

Replaces declaration-owned fields while preserving lifecycle-owned state.

The replacement must describe the same plugin ID. Desired state, runtime state, and durable lifecycle metadata remain attached to the existing record.

## Trait Implementations

### `impl Debug for DynamicPluginRegistry`

<pre />

#### `fmt`

<pre />

### `impl Default for DynamicPluginRegistry`

<pre />

#### `default`

<pre />