Skip to content

gufo.snmp.cli

gufo-snmp command.

Attributes:

Name Type Description
NAME

Utility's name.

Cli

gufo-snmp utility class.

die(msg=None) classmethod

Print an error message and terminate the process.

Parameters:

Name Type Description Default
msg str | None

Error message to print.

None

get_command(ns)

Determine the command to execute.

Parameters:

Name Type Description Default
ns Namespace

Parsed command-line arguments.

required

Returns:

Type Description
Command

Command to execute.

get_community(ns)

Get the SNMP community from command-line arguments.

Parameters:

Name Type Description Default
ns Namespace

Parsed command-line arguments.

required

Returns:

Type Description
str

SNMP community string.

get_session(ns)

Build an SNMP session from command-line arguments.

Parameters:

Name Type Description Default
ns Namespace

Parsed command-line arguments.

required

Returns:

Type Description
SnmpSession

Configured SNMP session.

get_user(ns)

Build the USM user configuration from command-line arguments.

Parameters:

Name Type Description Default
ns Namespace

Parsed command-line arguments.

required

Returns:

Type Description
User

Configured USM user.

get_version(ns)

Get the SNMP version from command-line arguments.

Parameters:

Name Type Description Default
ns Namespace

Parsed command-line arguments.

required

Returns:

Type Description
SnmpVersion

SNMP protocol version.

is_valid_oid(oid) classmethod

Check whether an OID is valid.

Parameters:

Name Type Description Default
oid str

Object identifier to validate.

required

Returns:

Type Description
bool

True if the OID is valid, otherwise False.

parse_args(args) classmethod

Parse and validate command-line arguments.

Parameters:

Name Type Description Default
args list[str]

Command-line arguments.

required

Returns:

Type Description
Namespace

Parsed and validated arguments.

run(args)

Parse arguments and run the appropriate command.

Parameters:

Name Type Description Default
args list[str]

Command-line arguments.

required

Returns:

Type Description
ExitCode

Command exit code.

run_get(session, oids, formatter)

Perform a GET request.

Parameters:

Name Type Description Default
session SnmpSession

Configured SNMP session.

required
oids list[str]

List of OIDs. Exactly one OID is expected.

required
formatter Formatter

Formatter used to format the response.

required

Returns:

Type Description
ExitCode

Command exit code.

run_get_many(session, oids, formatter)

Perform a GET request for multiple OIDs.

Parameters:

Name Type Description Default
session SnmpSession

Configured SNMP session.

required
oids list[str]

OIDs to request.

required
formatter Formatter

Formatter used to format the responses.

required

Returns:

Type Description
ExitCode

Command exit code.

run_getbulk(session, oids, formatter)

Perform GETBULK requests.

Parameters:

Name Type Description Default
session SnmpSession

Configured SNMP session.

required
oids list[str]

OIDs to use as starting points.

required
formatter Formatter

Formatter used to format the responses.

required

Returns:

Type Description
ExitCode

Command exit code.

run_getnext(session, oids, formatter)

Perform GETNEXT requests.

Parameters:

Name Type Description Default
session SnmpSession

Configured SNMP session.

required
oids list[str]

OIDs to use as starting points.

required
formatter Formatter

Formatter used to format the responses.

required

Returns:

Type Description
ExitCode

Command exit code.

CollectOFlags

Bases: Action

Collect flags from a single -O option occurrence.

Parameters:

Name Type Description Default
parser

Argument parser invoking this action.

required
namespace

Namespace where the parsed flags are stored.

required
values

Flag characters passed to -O.

required
option_string

Option string that triggered this action.

required

__call__(parser, namespace, values, option_string=None)

Process a single -O argument occurrence.

Each time the -O option is encountered, this method extracts the individual flag characters from values and merges them into the destination attribute (a set of characters). Duplicate flags are ignored automatically.

Parameters:

Name Type Description Default
parser ArgumentParser

The argument parser invoking this action.

required
namespace Namespace

The namespace object where parsed values are stored.

required
values str | Sequence[Any] | None

The string of flag characters passed to -O (e.g., "nqv" for -Onqv).

required
option_string str | None

The option string that triggered this action, e.g., "-O" (may be None when called programmatically).

None

Command

Bases: Enum

Command to execute.

ExitCode

Bases: IntEnum

Cli exit codes.

Attributes:

Name Type Description
OK

Successful exit.

ERR

Error.

Formatter

Pretty format output.

format(oid, value)

Format an OID and its value.

Parameters:

Name Type Description Default
oid str

Object identifier.

required
value ValueType

Value to format.

required

Returns:

Type Description
str

Formatted OID and value.

format_value(value)

Format a value.

Parameters:

Name Type Description Default
value ValueType

Value to format.

required

Returns:

Type Description
str

Formatted value.

from_opts(opts) classmethod

Build a formatter from output formatting options.

Parameters:

Name Type Description Default
opts str

Output formatting options.

required

Returns:

Type Description
Formatter

Configured formatter.

validate(parser, opts) classmethod

Validate output formatting options.

Parameters:

Name Type Description Default
parser ArgumentParser

Argument parser used to report validation errors.

required
opts str

Output formatting options.

required

StrFormat

Bases: Enum

OctetString formatters.

Attributes:

Name Type Description
REPR

Using python's repr().

ASCII

Show printable ASCII symbols, replacing others with dots.

HEX

Hex-dump.

ASCII_HEX

ASCII + HEX

default() classmethod

Get the default string format.

Returns:

Type Description
StrFormat

The default string format.

main(args=None)

Run gufo-snmp with command-line arguments.

Parameters:

Name Type Description Default
args list[str] | None

Command-line arguments. If None, use sys.argv.

None

Returns:

Type Description
int

Process exit code.