summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorelie <elie>2015-09-21 06:32:31 +0000
committerelie <elie>2015-09-21 06:32:31 +0000
commit66b54b016bec3312059f0add5dcc8535d2a1a6c6 (patch)
treebb2972af4148112bd56aa9444ca858f83f0bb976 /docs
parent8ede39948b4f6037012552bab20da2ff8376d715 (diff)
downloadpysnmp-66b54b016bec3312059f0add5dcc8535d2a1a6c6.tar.gz
more adjustments followed layout changes
Diffstat (limited to 'docs')
-rw-r--r--docs/source/docs/contents.rst14
-rw-r--r--docs/source/docs/hlapi/asyncore/agent/ntforg/async-notification-originator.rst8
-rw-r--r--docs/source/docs/hlapi/asyncore/agent/ntforg/notification.rst8
-rw-r--r--docs/source/docs/hlapi/asyncore/manager/cmdgen/async-command-generator.rst9
-rw-r--r--docs/source/docs/hlapi/asyncore/manager/cmdgen/bulkcmd.rst8
-rw-r--r--docs/source/docs/hlapi/asyncore/manager/cmdgen/getcmd.rst8
-rw-r--r--docs/source/docs/hlapi/asyncore/manager/cmdgen/nextcmd.rst8
-rw-r--r--docs/source/docs/hlapi/asyncore/manager/cmdgen/setcmd.rst8
-rw-r--r--docs/source/docs/hlapi/security-configuration.rst39
-rw-r--r--docs/source/docs/hlapi/snmp-context.rst23
-rw-r--r--docs/source/docs/v3arch/snmp-engine.rst4
-rw-r--r--docs/source/examples/contents.rst2
-rw-r--r--docs/source/examples/hlapi/asyncore/agent/ntforg/advanced-topics.rst28
-rw-r--r--docs/source/examples/hlapi/asyncore/agent/ntforg/asynchronous-operations.rst40
-rw-r--r--docs/source/examples/hlapi/asyncore/agent/ntforg/common-notifications.rst28
-rw-r--r--docs/source/examples/hlapi/asyncore/agent/ntforg/evaluating-notification-type.rst29
-rw-r--r--docs/source/examples/hlapi/asyncore/agent/ntforg/snmp-v1-trap-variants.rst29
-rw-r--r--docs/source/examples/hlapi/asyncore/agent/ntforg/snmp-versions.rst40
-rw-r--r--docs/source/examples/hlapi/asyncore/contents.rst84
-rw-r--r--docs/source/examples/hlapi/asyncore/manager/cmdgen/advanced-topics.rst84
-rw-r--r--docs/source/examples/hlapi/asyncore/manager/cmdgen/asynchronous-operations.rst39
-rw-r--r--docs/source/examples/hlapi/asyncore/manager/cmdgen/mib-tweaks.rst48
-rw-r--r--docs/source/examples/hlapi/asyncore/manager/cmdgen/modifying-variables.rst30
-rw-r--r--docs/source/examples/hlapi/asyncore/manager/cmdgen/snmp-versions.rst72
-rw-r--r--docs/source/examples/hlapi/asyncore/manager/cmdgen/table-operations.rst50
-rw-r--r--docs/source/examples/hlapi/asyncore/manager/cmdgen/transport-tweaks.rst29
-rw-r--r--docs/source/examples/hlapi/asyncore/manager/cmdgen/walking-operations.rst51
-rw-r--r--docs/source/examples/v3arch/asyncore/contents.rst2
-rw-r--r--docs/source/quick-start.rst8
-rw-r--r--docs/source/snmp-overview.rst2
30 files changed, 810 insertions, 22 deletions
diff --git a/docs/source/docs/contents.rst b/docs/source/docs/contents.rst
index ddde9cf..1e6dc2f 100644
--- a/docs/source/docs/contents.rst
+++ b/docs/source/docs/contents.rst
@@ -13,7 +13,7 @@ it will let you perform SNMP GET/SET/WALK operations by pasting code
snippets from this web-site right into your Python interactive session.
.. toctree::
- /docs/v3arch/asyncore/oneliner/contents
+ /docs/hlapi/contents
At the basic level, PySNMP offers a complete set of Standard SNMP
Applications to give you maximum flexibility with integration of SNMP
@@ -29,18 +29,6 @@ PySNMP offers native bindings to some of these framework.
.. /docs/v3arch/trollius/contents
.. /docs/v3arch/twisted/contents
-All programming interfaces mentioned above revolve around the notion
-of SNMP Engine:
-
-.. toctree::
- /docs/v3arch/snmp-engine
-
-SNMP represents the information is manages in form of values belonging to
-a set of types.
-
-.. toctree::
- /docs/snmp-data-types
-
At the other end of the complexity spectrum, PySNMP offers packet-level
ASN.1 data structures that let you build, parse and analyze SNMP messages
travelling over network. This extremely low-level programming interface is
diff --git a/docs/source/docs/hlapi/asyncore/agent/ntforg/async-notification-originator.rst b/docs/source/docs/hlapi/asyncore/agent/ntforg/async-notification-originator.rst
new file mode 100644
index 0000000..15fb19e
--- /dev/null
+++ b/docs/source/docs/hlapi/asyncore/agent/ntforg/async-notification-originator.rst
@@ -0,0 +1,8 @@
+.. toctree::
+ :maxdepth: 2
+
+Asynchronous Notification Originator
+====================================
+
+.. autoclass:: pysnmp.hlapi.asyncore.AsyncNotificationOriginator
+ :members:
diff --git a/docs/source/docs/hlapi/asyncore/agent/ntforg/notification.rst b/docs/source/docs/hlapi/asyncore/agent/ntforg/notification.rst
new file mode 100644
index 0000000..e9d55cf
--- /dev/null
+++ b/docs/source/docs/hlapi/asyncore/agent/ntforg/notification.rst
@@ -0,0 +1,8 @@
+
+TRAP/INFORM notification
+========================
+
+.. toctree::
+ :maxdepth: 2
+
+.. autofunction:: pysnmp.hlapi.asyncore.sendNotification
diff --git a/docs/source/docs/hlapi/asyncore/manager/cmdgen/async-command-generator.rst b/docs/source/docs/hlapi/asyncore/manager/cmdgen/async-command-generator.rst
new file mode 100644
index 0000000..f8584a7
--- /dev/null
+++ b/docs/source/docs/hlapi/asyncore/manager/cmdgen/async-command-generator.rst
@@ -0,0 +1,9 @@
+
+Asynchronous Command Generator
+==============================
+
+.. toctree::
+ :maxdepth: 2
+
+.. autoclass:: pysnmp.hlapi.asyncore.AsyncCommandGenerator
+ :members:
diff --git a/docs/source/docs/hlapi/asyncore/manager/cmdgen/bulkcmd.rst b/docs/source/docs/hlapi/asyncore/manager/cmdgen/bulkcmd.rst
new file mode 100644
index 0000000..59bee11
--- /dev/null
+++ b/docs/source/docs/hlapi/asyncore/manager/cmdgen/bulkcmd.rst
@@ -0,0 +1,8 @@
+
+GETBULK command
+===============
+
+.. toctree::
+ :maxdepth: 2
+
+.. autofunction:: pysnmp.hlapi.asyncore.bulkCmd
diff --git a/docs/source/docs/hlapi/asyncore/manager/cmdgen/getcmd.rst b/docs/source/docs/hlapi/asyncore/manager/cmdgen/getcmd.rst
new file mode 100644
index 0000000..c224491
--- /dev/null
+++ b/docs/source/docs/hlapi/asyncore/manager/cmdgen/getcmd.rst
@@ -0,0 +1,8 @@
+
+GET command
+===========
+
+.. toctree::
+ :maxdepth: 2
+
+.. autofunction:: pysnmp.hlapi.asyncore.getCmd
diff --git a/docs/source/docs/hlapi/asyncore/manager/cmdgen/nextcmd.rst b/docs/source/docs/hlapi/asyncore/manager/cmdgen/nextcmd.rst
new file mode 100644
index 0000000..1a8856a
--- /dev/null
+++ b/docs/source/docs/hlapi/asyncore/manager/cmdgen/nextcmd.rst
@@ -0,0 +1,8 @@
+
+GETNEXT command
+===============
+
+.. toctree::
+ :maxdepth: 2
+
+.. autofunction:: pysnmp.hlapi.asyncore.nextCmd
diff --git a/docs/source/docs/hlapi/asyncore/manager/cmdgen/setcmd.rst b/docs/source/docs/hlapi/asyncore/manager/cmdgen/setcmd.rst
new file mode 100644
index 0000000..92f6c91
--- /dev/null
+++ b/docs/source/docs/hlapi/asyncore/manager/cmdgen/setcmd.rst
@@ -0,0 +1,8 @@
+
+SET command
+===========
+
+.. toctree::
+ :maxdepth: 2
+
+.. autofunction:: pysnmp.hlapi.asyncore.setCmd
diff --git a/docs/source/docs/hlapi/security-configuration.rst b/docs/source/docs/hlapi/security-configuration.rst
new file mode 100644
index 0000000..a5b812c
--- /dev/null
+++ b/docs/source/docs/hlapi/security-configuration.rst
@@ -0,0 +1,39 @@
+
+Security Parameters
+===================
+
+Calls to high-level Applications API consume Security Parameters
+configuration object on input. The shortcut classes described in
+this section convey configuration information to SNMP engine's
+Local Configuration Datastore (:RFC:`2271#section-3.4.2`).
+Once committed to LCD, SNMP engine saves its configuration for
+the lifetime of SNMP engine object.
+
+Security Parameters object is Security Model specific.
+:py:class:`~pysnmp.hlapi.UsmUserData` class
+serves SNMPv3 User-Based Security Model configuration, while
+:py:class:`~pysnmp.hlapi.CommunityData`
+class is used for Community-Based Security Model of SNMPv1/SNMPv2c.
+
+.. toctree::
+ :maxdepth: 2
+
+.. autoclass:: pysnmp.hlapi.CommunityData(communityIndex, communityName=None, mpModel=1, contextEngineId=None, contextName='', tag='')
+
+.. autoclass:: pysnmp.hlapi.UsmUserData(userName, authKey=None, privKey=None, authProtocol=usmNoAuthProtocol, privProtocol=usmNoPrivProtocol, securityEngineId=None)
+
+Identification of Authentication and Privacy Protocols is done
+via constant OIDs:
+
+.. autodata:: pysnmp.hlapi.usmNoAuthProtocol
+.. autodata:: pysnmp.hlapi.usmHMACMD5AuthProtocol
+.. autodata:: pysnmp.hlapi.usmHMACSHAAuthProtocol
+
+.. autodata:: pysnmp.hlapi.usmNoPrivProtocol
+.. autodata:: pysnmp.hlapi.usmDESPrivProtocol
+.. autodata:: pysnmp.hlapi.usm3DESEDEPrivProtocol
+.. autodata:: pysnmp.hlapi.usmAesCfb128Protocol
+.. autodata:: pysnmp.hlapi.usmAesCfb192Protocol
+.. autodata:: pysnmp.hlapi.usmAesCfb256Protocol
+
+
diff --git a/docs/source/docs/hlapi/snmp-context.rst b/docs/source/docs/hlapi/snmp-context.rst
new file mode 100644
index 0000000..d29484e
--- /dev/null
+++ b/docs/source/docs/hlapi/snmp-context.rst
@@ -0,0 +1,23 @@
+
+SNMP Context
+============
+
+Calls to high-level Applications API consume SNMP Context
+configuration object on input. The shortcut class described in
+this section convey this MIB instance identification information
+to SNMP PDU for further communication to peer SNMP engine
+(:RFC:`3411#section-4.1`).
+
+.. note::
+
+ SNMP context is only defined within SNMPv3 framework. For SNMPv1/v2c
+ architecture integration :RFC:`2576#section-5.1` introduces
+ interoperability aid which is available through
+ :py:class:`~pysnmp.hlapi.CommunityData`.
+
+
+.. toctree::
+ :maxdepth: 2
+
+.. autoclass:: pysnmp.hlapi.ContextData
+
diff --git a/docs/source/docs/v3arch/snmp-engine.rst b/docs/source/docs/v3arch/snmp-engine.rst
index 339d618..f72c737 100644
--- a/docs/source/docs/v3arch/snmp-engine.rst
+++ b/docs/source/docs/v3arch/snmp-engine.rst
@@ -3,11 +3,11 @@ SNMP Engine
===========
SNMP Engine is a central, stateful object used by all SNMP v3
-substsems. Calls to oneliner Applications API also consume SNMP
+substsems. Calls to high-level Applications API also consume SNMP
Engine object on input.
.. toctree::
:maxdepth: 2
-.. autoclass:: pysnmp.entity.engine.SnmpEngine(snmpEngineID=None)
+.. autoclass:: pysnmp.hlapi.asyncore.SnmpEngine(snmpEngineID=None)
diff --git a/docs/source/examples/contents.rst b/docs/source/examples/contents.rst
index eabdafe..a93af0f 100644
--- a/docs/source/examples/contents.rst
+++ b/docs/source/examples/contents.rst
@@ -18,7 +18,7 @@ APIs are:
.. toctree::
:maxdepth: 2
- /examples/v3arch/asyncore/oneliner/contents
+ /examples/hlapi/asyncore/contents
#. Complete implementation of all official Standard SNMP Applications. It
should let you implement any SNMP operation defined in the standard.
diff --git a/docs/source/examples/hlapi/asyncore/agent/ntforg/advanced-topics.rst b/docs/source/examples/hlapi/asyncore/agent/ntforg/advanced-topics.rst
new file mode 100644
index 0000000..06eb06b
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/agent/ntforg/advanced-topics.rst
@@ -0,0 +1,28 @@
+.. toctree::
+ :maxdepth: 2
+
+Advanced topic
+--------------
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/custom-contextname.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/custom-contextname.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/custom-contextname.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/custom-contextengineid.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/custom-contextengineid.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/custom-contextengineid.py>` script.
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/agent/ntforg/asynchronous-operations.rst b/docs/source/examples/hlapi/asyncore/agent/ntforg/asynchronous-operations.rst
new file mode 100644
index 0000000..0ff429a
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/agent/ntforg/asynchronous-operations.rst
@@ -0,0 +1,40 @@
+.. toctree::
+ :maxdepth: 2
+
+Asynchronous operations
+-----------------------
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/async-multiple-traps-at-once.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/async-multiple-traps-at-once.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/async-multiple-traps-at-once.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/async-multiple-informs-at-once.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/async-multiple-informs-at-once.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/async-multiple-informs-at-once.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/async-running-multiple-snmp-engines-at-once.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/async-running-multiple-snmp-engines-at-once.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/async-running-multiple-snmp-engines-at-once.py>` script.
+
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/agent/ntforg/common-notifications.rst b/docs/source/examples/hlapi/asyncore/agent/ntforg/common-notifications.rst
new file mode 100644
index 0000000..b8048e1
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/agent/ntforg/common-notifications.rst
@@ -0,0 +1,28 @@
+.. toctree::
+ :maxdepth: 2
+
+Common notifications
+--------------------
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/v2c-trap-via-notification-type.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/v2c-trap-via-notification-type.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/v2c-trap-via-notification-type.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/v3-inform.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/v3-inform.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/v3-inform.py>` script.
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/agent/ntforg/evaluating-notification-type.rst b/docs/source/examples/hlapi/asyncore/agent/ntforg/evaluating-notification-type.rst
new file mode 100644
index 0000000..e06b7ff
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/agent/ntforg/evaluating-notification-type.rst
@@ -0,0 +1,29 @@
+.. toctree::
+ :maxdepth: 2
+
+Evaluating NOTIFICATION-TYPE
+----------------------------
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/v2c-trap-via-notification-type.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/v2c-trap-via-notification-type.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/v2c-trap-via-notification-type.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/send-notification-with-additional-varbinds.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/send-notification-with-additional-varbinds.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/send-notification-with-additional-varbinds.py>` script.
+
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/agent/ntforg/snmp-v1-trap-variants.rst b/docs/source/examples/hlapi/asyncore/agent/ntforg/snmp-v1-trap-variants.rst
new file mode 100644
index 0000000..7327867
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/agent/ntforg/snmp-v1-trap-variants.rst
@@ -0,0 +1,29 @@
+.. toctree::
+ :maxdepth: 2
+
+SNMPv1 TRAP variants
+--------------------
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/custom-v1-trap.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/custom-v1-trap.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/custom-v1-trap.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py>` script.
+
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/agent/ntforg/snmp-versions.rst b/docs/source/examples/hlapi/asyncore/agent/ntforg/snmp-versions.rst
new file mode 100644
index 0000000..e861b49
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/agent/ntforg/snmp-versions.rst
@@ -0,0 +1,40 @@
+.. toctree::
+ :maxdepth: 2
+
+Various SNMP versions
+----------------------
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/v2c-trap-via-notification-type.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/v2c-trap-via-notification-type.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/v2c-trap-via-notification-type.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/v3-trap.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/v3-trap.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/v3-trap.py>` script.
+
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/contents.rst b/docs/source/examples/hlapi/asyncore/contents.rst
new file mode 100644
index 0000000..d510551
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/contents.rst
@@ -0,0 +1,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 high-level API (hlapi) 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 high-level API:
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/v1-get.py
+ :start-after: options:
+ :end-before: Functionally
+
+.. literalinclude:: /../../examples/hlapi/asyncore/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/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py
+ :start-after: options:
+ :end-before: Functionally
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py
+ :start-after: """#
+ :language: python
+
+More examples on Command Generator API usage follow.
+
+.. toctree::
+
+ /examples/hlapi/asyncore/manager/cmdgen/snmp-versions
+ /examples/hlapi/asyncore/manager/cmdgen/modifying-variables
+ /examples/hlapi/asyncore/manager/cmdgen/walking-operations
+ /examples/hlapi/asyncore/manager/cmdgen/table-operations
+ /examples/hlapi/asyncore/manager/cmdgen/mib-tweaks
+ /examples/hlapi/asyncore/manager/cmdgen/transport-tweaks
+ /examples/hlapi/asyncore/manager/cmdgen/asynchronous-operations
+ /examples/hlapi/asyncore/manager/cmdgen/advanced-topics
+
+Notification Originator Application
+-----------------------------------
+
+Sending SNMP TRAP's and INFORM's is as easy with PySNMP library.
+The following code sends SNMP TRAP:
+
+.. include:: /../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py
+ :start-after: options:
+ :end-before: Functionally
+
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py
+ :start-after: """#
+ :language: python
+
+More examples on Notification Originator API usage follow.
+
+.. toctree::
+
+ /examples/hlapi/asyncore/agent/ntforg/snmp-versions
+ /examples/hlapi/asyncore/agent/ntforg/common-notifications
+ /examples/hlapi/asyncore/agent/ntforg/snmp-v1-trap-variants
+ /examples/hlapi/asyncore/agent/ntforg/evaluating-notification-type
+ /examples/hlapi/asyncore/agent/ntforg/asynchronous-operations
+ /examples/hlapi/asyncore/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.
diff --git a/docs/source/examples/hlapi/asyncore/manager/cmdgen/advanced-topics.rst b/docs/source/examples/hlapi/asyncore/manager/cmdgen/advanced-topics.rst
new file mode 100644
index 0000000..969d6ed
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/manager/cmdgen/advanced-topics.rst
@@ -0,0 +1,84 @@
+.. toctree::
+ :maxdepth: 2
+
+Advanced topics
+---------------
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/getbulk-limit-number-of-packets.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/getbulk-limit-number-of-packets.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/getbulk-limit-number-of-packets.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/multiple-get-calls.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/multiple-get-calls.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/multiple-get-calls.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-contextengineid.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-contextengineid.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/custom-contextengineid.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-contextengineid-and-contextname.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-contextengineid-and-contextname.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/custom-contextengineid-and-contextname.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-v3-security-name.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-v3-security-name.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/custom-v3-security-name.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/specific-v3-engine-id.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/specific-v3-engine-id.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/specific-v3-engine-id.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/query-agents-from-multuple-threads.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/query-agents-from-multuple-threads.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/query-agents-from-multuple-threads.py>` script.
+
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/manager/cmdgen/asynchronous-operations.rst b/docs/source/examples/hlapi/asyncore/manager/cmdgen/asynchronous-operations.rst
new file mode 100644
index 0000000..0236a96
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/manager/cmdgen/asynchronous-operations.rst
@@ -0,0 +1,39 @@
+.. toctree::
+ :maxdepth: 2
+
+Asynchronous operations
+-----------------------
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/multiple-concurrent-async-queries.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/multiple-concurrent-async-queries.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/multiple-concurrent-async-queries.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/async-query-multiple-snmp-engines.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/async-query-multiple-snmp-engines.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/async-query-multiple-snmp-engines.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/async-pull-mibs-from-multiple-agents-at-once.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/async-pull-mibs-from-multiple-agents-at-once.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/async-pull-mibs-from-multiple-agents-at-once.py>` script.
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/manager/cmdgen/mib-tweaks.rst b/docs/source/examples/hlapi/asyncore/manager/cmdgen/mib-tweaks.rst
new file mode 100644
index 0000000..168eb69
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/manager/cmdgen/mib-tweaks.rst
@@ -0,0 +1,48 @@
+.. toctree::
+ :maxdepth: 2
+
+MIB tweaks
+----------
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/waive-mib-lookup.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/waive-mib-lookup.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/waive-mib-lookup.py>` script.
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/preload-pysnmp-mibs.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/preload-pysnmp-mibs.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/preload-pysnmp-mibs.py>` script.
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-asn1-mib-search-path.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-asn1-mib-search-path.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/custom-asn1-mib-search-path.py>` script.
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-pysnmp-mibs-search-path.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-pysnmp-mibs-search-path.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/custom-pysnmp-mibs-search-path.py>` script.
+
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/manager/cmdgen/modifying-variables.rst b/docs/source/examples/hlapi/asyncore/manager/cmdgen/modifying-variables.rst
new file mode 100644
index 0000000..0fdf8dc
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/manager/cmdgen/modifying-variables.rst
@@ -0,0 +1,30 @@
+
+.. toctree::
+ :maxdepth: 2
+
+Modifying values
+----------------
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/coerce-set-value-to-mib-spec.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/coerce-set-value-to-mib-spec.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/coerce-set-value-to-mib-spec.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/set-multiple-scalar-values.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/set-multiple-scalar-values.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/set-multiple-scalar-values.py>` script.
+
+
+See also: :doc:`library-reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/manager/cmdgen/snmp-versions.rst b/docs/source/examples/hlapi/asyncore/manager/cmdgen/snmp-versions.rst
new file mode 100644
index 0000000..ad786db
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/manager/cmdgen/snmp-versions.rst
@@ -0,0 +1,72 @@
+.. toctree::
+ :maxdepth: 2
+
+Various SNMP versions
+----------------------
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/v1-get.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/v1-get.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/v1-get.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/v2c-get.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/v2c-get.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/v2c-get.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/usm-md5-des.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/usm-md5-des.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/usm-md5-des.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/usm-md5-none.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/usm-md5-none.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/usm-md5-none.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/usm-none-none.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/usm-none-none.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/usm-none-none.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/usm-sha-aes128.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/usm-sha-aes128.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/usm-sha-aes128.py>` script.
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/manager/cmdgen/table-operations.rst b/docs/source/examples/hlapi/asyncore/manager/cmdgen/table-operations.rst
new file mode 100644
index 0000000..9ea83c0
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/manager/cmdgen/table-operations.rst
@@ -0,0 +1,50 @@
+.. toctree::
+ :maxdepth: 2
+
+Table operations
+----------------
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/get-table-object-by-index.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/get-table-object-by-index.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/get-table-object-by-index.py>` script.
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/get-table-object-by-multiple-indices.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/get-table-object-by-multiple-indices.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/get-table-object-by-multiple-indices.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/getbulk-fetch-scalar-and-table-variables.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/getbulk-fetch-scalar-and-table-variables.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/getbulk-fetch-scalar-and-table-variables.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-snmp-table.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-snmp-table.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-snmp-table.py>` script.
+
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/manager/cmdgen/transport-tweaks.rst b/docs/source/examples/hlapi/asyncore/manager/cmdgen/transport-tweaks.rst
new file mode 100644
index 0000000..e5f754c
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/manager/cmdgen/transport-tweaks.rst
@@ -0,0 +1,29 @@
+.. toctree::
+ :maxdepth: 2
+
+Transport tweaks
+----------------
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-timeout-and-retries.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/custom-timeout-and-retries.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/custom-timeout-and-retries.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/fetch-variables-over-ipv6.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/fetch-variables-over-ipv6.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/fetch-variables-over-ipv6.py>` script.
+
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/hlapi/asyncore/manager/cmdgen/walking-operations.rst b/docs/source/examples/hlapi/asyncore/manager/cmdgen/walking-operations.rst
new file mode 100644
index 0000000..1d5b315
--- /dev/null
+++ b/docs/source/examples/hlapi/asyncore/manager/cmdgen/walking-operations.rst
@@ -0,0 +1,51 @@
+.. toctree::
+ :maxdepth: 2
+
+Walking operations
+------------------
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/getnext-multiple-oids-to-eom.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/getnext-multiple-oids-to-eom.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/getnext-multiple-oids-to-eom.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/getbulk-limit-number-of-variables.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/getbulk-limit-number-of-variables.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/getbulk-limit-number-of-variables.py>` script.
+
+
+.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/getnext-limit-number-of-variables.py
+ :start-after: """
+ :end-before: """#
+
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/getnext-limit-number-of-variables.py
+ :start-after: """#
+ :language: python
+
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/getnext-limit-number-of-variables.py>` script.
+
+
+See also: :doc:`library reference </docs/contents>`.
diff --git a/docs/source/examples/v3arch/asyncore/contents.rst b/docs/source/examples/v3arch/asyncore/contents.rst
index 3b1295b..d5cdc9b 100644
--- a/docs/source/examples/v3arch/asyncore/contents.rst
+++ b/docs/source/examples/v3arch/asyncore/contents.rst
@@ -3,7 +3,7 @@ SNMP with Asyncore
==================
If you find yourself unable to use particular SNMP feature with the
-high-level, "oneliner" API, your next step would be to use SNMPv3
+high-level (hlapi) API, your next step would be to use SNMPv3
engine services through one of the Standard SNMP Applications
(`RFC3413 <https://tools.ietf.org/html/rfc3413>`_).
diff --git a/docs/source/quick-start.rst b/docs/source/quick-start.rst
index b0e5b4e..9e14c03 100644
--- a/docs/source/quick-start.rst
+++ b/docs/source/quick-start.rst
@@ -17,11 +17,11 @@ So just cut&paste the following code right into your Python prompt. The
code will performs SNMP GET operation for a sysDescr.0 object at a
publically available SNMP Agent at **demo.snmplabs.com**:
-.. literalinclude:: /../../examples/v3arch/asyncore/oneliner/manager/cmdgen/v1-get.py
+.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/v1-get.py
:start-after: """#
:language: python
-:download:`Download</../../examples/v3arch/asyncore/oneliner/manager/cmdgen/v1-get.py>` script.
+:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/v1-get.py>` script.
If everything works as it should you will get:
@@ -39,11 +39,11 @@ Send SNMP TRAP
To send a trivial TRAP message to your local Notification Receiver
just cut&paste the following code into your interactive Python session:
-.. literalinclude:: /../../examples/v3arch/asyncore/oneliner/agent/ntforg/default-v1-trap.py
+.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py
:start-after: """#
:language: python
-:download:`Download</../../examples/v3arch/asyncore/oneliner/agent/ntforg/default-v1-trap.py>` script.
+:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py>` script.
For more sophisticated examples and use cases please refer to
:doc:`examples <examples/contents>` and :doc:`library reference <docs/contents>`
diff --git a/docs/source/snmp-overview.rst b/docs/source/snmp-overview.rst
index b532f66..985cd79 100644
--- a/docs/source/snmp-overview.rst
+++ b/docs/source/snmp-overview.rst
@@ -306,7 +306,7 @@ linked objects at runtime. So here are the main components:
kept in LCD. LCD Configurator is a wrapper aimed at simplifying LCD
operations.
-In most cases user is expected to only deal with the high-level, oneliner
+In most cases user is expected to only deal with the high-level
API to all these PySNMP components. However implementing SNMP Agents,
Proxies and some other fine features of Managers require using the Standard
Applications API. In those cases general understanding of SNMP operations