PySNMP: Protocol: RFC 1155

### Structure and Identification of Management Information for TCP/IP-based Internets (RFC 1155)

The pysnmp.proto.rfc1155 module implements data structures and operations on them as defined by the RFC 1155.

The following classes implement simple, universal ASN.1 types in RFC 1155 context.

class Integer([value])

  Instances of this class represent primitive ASN.1 INTEGER object used in RFC 1155 context. This is a subclass of asn1.univ.Integer and asn1.ber.univ.Integer classes.

class OctetString([value])

  Instances of this class represent primitive ASN.1 OCTET STRING object used in RFC 1155 context. This is a subclass of asn1.univ.OctetString and asn1.ber.univ.OctetString classes.

class ObjectIdentifier([value])

  Instances of this class represent primitive ASN.1 OBJECT IDENTIFIER object used in RFC 1155 context. This is a subclass of asn1.univ.ObjectIdentifier and asn1.ber.univ.ObjectIdentifier classes.

class Null([value])

  Instances of this class represent primitive ASN.1 NULL object used in RFC 1155 context. This is a subclass of asn1.univ.Null and asn1.ber.univ.Null classes.

The following classes implement constructed, universal ASN.1 types used in RFC 1155 context.

class Sequence([**kwargs])

  Instances of this class represent primitive, constructed ASN.1 SEQUENCE type used in RFC 1155 context. This is a subclass of asn1.univ.Sequence and asn1.ber.univ.Sequence classes.

class SequenceOf([args])

  Instances of this class represent primitive, constructed ASN.1 SEQUENCE OF type used in RFC 1155 context. This is a subclass of asn1.univ.SequenceOf and asn1.ber.univ.SequenceOf classes.

class Choice([**kwargs])

  Instances of this class represent primitive, constructed ASN.1 CHOICE type used in RFC 1155 context. This is a subclass of asn1.univ.Choice and asn1.ber.univ.Choice classes.

The following classes implement simple, application-wide ASN.1 types used in RFC 1155 context.

class IpAddress([value])

  Instances of this class represent application-wide ASN.1 type used for handling IP numbers in RFC 1155 context. This is a subclass of OctetString class.

  Instances of this class take and return IP addresses, represented in "dotted" notation, as Python strings (such as '193.124.5.33').

  The default value for IpAddress object is '0.0.0.0'.

class Counter([value])

  Instances of this class represent application-wide ASN.1 type used for handling wrapping counters in RFC 1155 context. This is a subclass of Integer class, with the following deviations from the base class:

  - Value range constraint set to 0..4294967295L
  - Value wrapover is performed on overflow. When the maximum value is reached, the counter value wraps to 0.

class Gauge([value])

  Instances of this class represent application-wide ASN.1 type used for handling non-wrapping counters in RFC 1155 context. This is a subclass of Integer class, with the following deviations from the base class:

  - Value range constraint set to 0..4294967295L
  - Value wrapover is not performed on overflow. When the maximum value is reached, value latches and can only be decreased.

class TimeTicks([value])

  Instances of this class represent application-wide ASN.1 type used for handling time intervals in RFC 1155 context. This is a subclass of Integer class, with the following deviations from the base class:

  - Value range constraint set to 0..4294967295L
  - Value wrapover is not performed on overflow. When the maximum value is reached, the time value wraps to 0. A "tick" is representing a centi-second (0.01 of a second).

class Opaque([value])

  Instances of this class represent application-wide ASN.1 type used for passing an arbitrary syntax inside an OCTET STRING in RFC 1155 context. This is a subclass of OctetString class.

The following classes implement constructed, application-wide ASN.1 types used in RFC 1155 context.

class NetworkAddress([value])

  Instances of this class represent application-wide ASN.1 type used for handling different network address types in RFC 1155 context. This is a subclass of Choice class, with the following deviations from the base class:

  - Embedded value name is set to 'internet' and type restricted to IpAddress objects.

class ObjectName([value])

  Instances of this class represent application-wide ASN.1 type used for names of MIB objects in RFC 1155 context. This is a subclass of ObjectIdentifier class.

class SimpleSyntax([**kwargs])

  Instances of this class represent a subset of allowed universal ASN.1 types used by SNMP v.1 SMI (RFC 1155). This is a subclass of Choice class, with the following deviations from the base class:

  - Embedded value name is restricted to either of 'number', 'string', 'object', 'empty' and type restricted to either of Integer, OctetString, ObjectIdentifier, Null objects respectively.

  The default value for SimpleSyntax object is Null.

class ApplicationSyntax([**kwargs])

  Instances of this class represent a subset of allowed application-wide ASN.1 types used by SNMP v.1 SMI (RFC 1155). This is a subclass of Choice class, with the following deviations from the base class:

  - Embedded value name is restricted to either of 'address', 'counter', 'gauge', 'ticks', 'arbitrary' and type restricted to either of NetworkAddress, Counter, Gauge, Gauge, TimeTicks, Opaque objects respectively.

class ObjectSyntax([**kwargs])

  Instances of this class represent syntax of MIB objects used by SNMP v.1 SMI (RFC 1155). This is a subclass of Choice class, with the following deviations from the base class:

  - Embedded value name is restricted to either of 'simple', 'application_wide' and type restricted to either of SimpleSyntax, ApplicationSyntax objects respectively.

  The default value for ObjectSyntax object is SimpleSyntax.

Methods of the above classes may raise exceptions based on error.SnmpError base class as well as ASN.1 and BER specific exceptions.

Subsections

- Example of rfc1155 module usage