towerops/lib/towerops/snmp/snmp_behaviour.ex
2026-01-06 15:43:54 -06:00

15 lines
545 B
Elixir

defmodule Towerops.Snmp.SnmpBehaviour do
@moduledoc """
Behaviour for SNMP operations.
Allows mocking SnmpKit in tests using Mox.
"""
@type target :: String.t()
@type oid :: String.t() | [non_neg_integer()]
@type snmp_opts :: keyword()
@type snmp_value :: term()
@callback get(target(), oid(), snmp_opts()) :: {:ok, snmp_value()} | {:error, term()}
@callback walk(target(), oid(), snmp_opts()) :: {:ok, [map()]} | {:error, term()}
@callback get_bulk(target(), oid(), snmp_opts()) :: {:ok, [map()]} | {:error, term()}
end