# `ExUtcp.Transports.Grpc.Gnmi`
[🔗](https://github.com/universal-tool-calling-protocol/elixir-utcp/blob/main/lib/ex_utcp/transports/grpc/gnmi.ex#L1)

gNMI (gRPC Network Management Interface) specific functionality.

This module provides specialized functions for network management operations
using the gNMI protocol over gRPC.

# `build_path`

```elixir
@spec build_path(String.t(), [String.t()], String.t()) :: String.t()
```

Builds a gNMI path from components.

# `capabilities`

```elixir
@spec capabilities(
  pid(),
  keyword()
) :: {:ok, map()} | {:error, term()}
```

Performs a gNMI Capabilities operation to discover supported models.

# `get`

```elixir
@spec get(pid(), [String.t()], keyword()) :: {:ok, map()} | {:error, term()}
```

Performs a gNMI Get operation to retrieve configuration or state data.

# `parse_path`

```elixir
@spec parse_path(String.t()) :: {:ok, map()} | {:error, term()}
```

Parses a gNMI path into components.

# `set`

```elixir
@spec set(pid(), [map()], keyword()) :: {:ok, map()} | {:error, term()}
```

Performs a gNMI Set operation to modify configuration.

# `subscribe`

```elixir
@spec subscribe(pid(), [String.t()], keyword()) :: {:ok, [map()]} | {:error, term()}
```

Performs a gNMI Subscribe operation for real-time data streaming.

# `validate_paths`

```elixir
@spec validate_paths([String.t()]) :: {:ok, [String.t()]} | {:error, term()}
```

Validates gNMI paths for correctness.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
