summaryrefslogtreecommitdiff
path: root/docs/source/examples/v3arch/asyncore/oneliner/contents.rst
blob: f0e75af5649cdddbb4b5144d4b1276f65a81f9df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84

High-level SNMP
===============

This chapter illustrates various uses of the high-level programming 
interfaces to some of Standard SNMP Applicaitons, as defined in 
`RFC3413 <https://tools.ietf.org/html/rfc3413>`_. 
The so called "oneliner" API is designed to be simple, concise and 
suitable for the most frequent operations. For that matter only 
Command Generator and Notification Originator Applications are currently 
wrapped into a nearly one-line Python expression.

.. note:: The following examples involve creating Python iterator, 
          the next() call is used to invoke iterator just once.

In most examples approximate analogues of well known Net-SNMP snmp* tools
command line options are shown. That may help those readers who, by chance
are familiar with Net-SNMP tools, better understanding what example code doe

Command Generator Applications
------------------------------

Here's a quick example on a simple SNMP GET by oneliner API:

.. include:: /../../examples/v3arch/asyncore/oneliner/manager/cmdgen/v1-get.py
   :start-after: options:
   :end-before: Functionally

.. literalinclude:: /../../examples/v3arch/asyncore/oneliner/manager/cmdgen/v1-get.py
   :start-after: """#
   :language: python

To make use of SNMPv3 and USM, the following code performs a series of
SNMP GETNEXT operations effectively fetching a table of SNMP variables
from SNMP Agent:

.. include:: /../../examples/v3arch/asyncore/oneliner/manager/cmdgen/pull-whole-mib.py
   :start-after: options:
   :end-before: Functionally

.. literalinclude:: /../../examples/v3arch/asyncore/oneliner/manager/cmdgen/pull-whole-mib.py
   :start-after: """#
   :language: python

More examples on Command Generator API usage follow.

.. toctree::

   /examples/v3arch/asyncore/oneliner/manager/cmdgen/snmp-versions
   /examples/v3arch/asyncore/oneliner/manager/cmdgen/modifying-variables
   /examples/v3arch/asyncore/oneliner/manager/cmdgen/walking-operations
   /examples/v3arch/asyncore/oneliner/manager/cmdgen/table-operations
   /examples/v3arch/asyncore/oneliner/manager/cmdgen/mib-tweaks
   /examples/v3arch/asyncore/oneliner/manager/cmdgen/transport-tweaks
   /examples/v3arch/asyncore/oneliner/manager/cmdgen/asynchronous-operations
   /examples/v3arch/asyncore/oneliner/manager/cmdgen/advanced-topics

Notification Originator Application
-----------------------------------

Sending SNMP TRAP's and INFORM's is as easy with PySNMP's oneliner 
library. The following code sends SNMP TRAP:

.. include:: /../../examples/v3arch/asyncore/oneliner/agent/ntforg/default-v1-trap.py
   :start-after: options:
   :end-before: Functionally

.. literalinclude:: /../../examples/v3arch/asyncore/oneliner/agent/ntforg/default-v1-trap.py
   :start-after: """#
   :language: python

More examples on Notification Originator API usage follow.

.. toctree::

   /examples/v3arch/asyncore/oneliner/agent/ntforg/snmp-versions
   /examples/v3arch/asyncore/oneliner/agent/ntforg/common-notifications
   /examples/v3arch/asyncore/oneliner/agent/ntforg/snmp-v1-trap-variants
   /examples/v3arch/asyncore/oneliner/agent/ntforg/evaluating-notification-type
   /examples/v3arch/asyncore/oneliner/agent/ntforg/asynchronous-operations
   /examples/v3arch/asyncore/oneliner/agent/ntforg/advanced-topics

More sophisticated or less popular SNMP operations can still be performed 
with PySNMP through its Native API to Standard SNMP Applications.