IPWorks SNMP 2020 Python Edition

Questions / Feedback?

on_get_request Event

Fired when a GetRequest packet is received.

Syntax

class SNMPAgentGetRequestEventParams(object):
  @property
  def request_id() -> int: ...
  @property
  def message_id() -> int: ...
  @property
  def snmp_version() -> int: ...
  @property
  def community() -> str: ...
  @property
  def user() -> str: ...
  @property
  def security_level() -> int: ...
  @property
  def source_address() -> str: ...
  @property
  def source_port() -> int: ...
  @property
  def error_index() -> int: ...
  @error_index.setter
  def error_index(value) -> None: ...
  @property
  def error_status() -> int: ...
  @error_status.setter
  def error_status(value) -> None: ...
  @property
  def error_description() -> str: ...
  @property
  def respond() -> bool: ...
  @respond.setter
  def respond(value) -> None: ...

# In class SNMPAgent:
@property
def on_get_request() -> Callable[[SNMPAgentGetRequestEventParams], None]: ...
@on_get_request.setter
def on_get_request(event_hook: Callable[[SNMPAgentGetRequestEventParams], None]) -> None: ...

Remarks

The list of variables in the SNMP packet, including optional values and types, is provided through the objects collection. Each object is of type snmpobject. This type describes the obj_id, obj_type, and obj_value of each SNMP object. These variables must be copied to another location before the event has completed executing, or they may be overridden by other events.

The SourceAddress and SourcePort parameters show the address and port of the sender as reported by the TCP/IP stack.

The MessageId parameter identifies the received request.

For SNMPv3, the User parameter shows the user that was supplied with the packet. This parameter MUST be used together with the SecurityLevel parameter which shows the level of security in the message.

The SecurityLevel parameter shows whether the request has been authenticated. If SecurityLevel is 0, the request has NOT been authenticated (i.e. the packet signature has not been verified). For an authenticated, non encrypted request, SecurityLevel is 1. For an authenticated and encrypted request, SecurityLevel is 2.

To send a response, the Respond parameter must be set to true. By default, this value is false, which means no response will be sent. The ErrorStatus parameter may also be set to a valid SNMP status code (the default value is 0, which represents no error).

The following is a list of valid SNMP status code values:

0 (noError) No error.
1 (tooBig) The response cannot fit in a single SNMP message.
2 (noSuchName) Variable does not exist.
3 (badValue) Invalid value or syntax.
4 (readOnly) Variable is read-only.
5 (genError) Other error (SNMPv1).
6 (noAccess) Access denied.
7 (wrongType) Wrong object type.
8 (wrongLength) Wrong length.
9 (wrongEncoding) Wrong encoding.
10 (wrongValue) Wrong value.
11 (noCreation) No creation.
12 (inconsistentValue) Inconsistent value.
13 (resourceUnavailable) Resource unavailable.
14 (commitFailed) Commit failed.
15 (undoFailed) Undo failed.
16 (authorizationError) Authorization error.
17 (notWritable) Variable is not writable.
18 (inconsistentName) Inconsistent name.

The ErrorIndex parameter indicates the index of the first variable (object) that caused an error. The default value is 0.

Variable indexes start with 0. ErrorIndex has no meaning when ErrorStatus is 0 (no error).

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks SNMP 2020 Python Edition - Version 20.0 [Build 8202]