summaryrefslogtreecommitdiff
path: root/examples/hlapi/v1arch/asyncio/agent/ntforg/default-v1-trap.py
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2019-02-22 06:43:56 +0100
committerGitHub <noreply@github.com>2019-02-22 06:43:56 +0100
commit74fcc27b038da72c6aa9e2c08b4dac63175b8b5f (patch)
tree0c16c866ba88bf594b2ddea1f54fffe010b66ea8 /examples/hlapi/v1arch/asyncio/agent/ntforg/default-v1-trap.py
parent0cf85fdffc601477afb4a9c5568653154fb4eb32 (diff)
downloadpysnmp-git-74fcc27b038da72c6aa9e2c08b4dac63175b8b5f.tar.gz
Introduce asyncio binding to hlapi.v1arch (#244)
The hlapi.v1arch asyncio API is intended to be very similar to hlapi.v3arch.asyncio from its signature viewpoint, however it should be faster at the expense of no SNMPv3 support.
Diffstat (limited to 'examples/hlapi/v1arch/asyncio/agent/ntforg/default-v1-trap.py')
-rw-r--r--examples/hlapi/v1arch/asyncio/agent/ntforg/default-v1-trap.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/examples/hlapi/v1arch/asyncio/agent/ntforg/default-v1-trap.py b/examples/hlapi/v1arch/asyncio/agent/ntforg/default-v1-trap.py
new file mode 100644
index 00000000..d63332f9
--- /dev/null
+++ b/examples/hlapi/v1arch/asyncio/agent/ntforg/default-v1-trap.py
@@ -0,0 +1,55 @@
+"""
+SNMPv1 TRAP with defaults
++++++++++++++++++++++++++
+
+Send SNMPv1 TRAP using the following options:
+
+* SNMPv1
+* with community name 'public'
+* over IPv4/UDP
+* send TRAP notification
+* with Generic Trap #1 (warmStart) and Specific Trap 0
+* with default Uptime
+* with default Agent Address
+* with Enterprise OID 1.3.6.1.4.1.20408.4.1.1.2
+* include managed object information '1.3.6.1.2.1.1.1.0' = 'my system'
+
+Functionally similar to:
+
+| $ snmptrap -v1 -c public demo.snmplabs.com 1.3.6.1.4.1.20408.4.1.1.2 0.0.0.0 \
+ 1 0 0 1.3.6.1.2.1.1.1.0 s "my system"
+
+"""#
+import asyncio
+from pysnmp.hlapi.v1arch.asyncio import *
+
+
+@asyncio.coroutine
+def run():
+
+ snmpDispatcher = SnmpDispatcher()
+
+ iterator = sendNotification(
+ snmpDispatcher,
+ CommunityData('public', mpModel=0),
+ UdpTransportTarget(('demo.snmplabs.com', 162)),
+ 'trap',
+ NotificationType(
+ ObjectIdentity('1.3.6.1.6.3.1.1.5.2')
+ ).loadMibs(
+ 'SNMPv2-MIB'
+ ).addVarBinds(
+ ('1.3.6.1.6.3.1.1.4.3.0', '1.3.6.1.4.1.20408.4.1.1.2'),
+ ('1.3.6.1.2.1.1.1.0', OctetString('my system'))
+ )
+ )
+
+ errorIndication, errorStatus, errorIndex, varBinds = yield from iterator
+
+ if errorIndication:
+ print(errorIndication)
+
+ snmpDispatcher.transportDispatcher.closeDispatcher()
+
+
+asyncio.get_event_loop().run_until_complete(run())