diff options
author | Ilya Etingof <etingof@gmail.com> | 2019-02-22 06:43:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-22 06:43:56 +0100 |
commit | 74fcc27b038da72c6aa9e2c08b4dac63175b8b5f (patch) | |
tree | 0c16c866ba88bf594b2ddea1f54fffe010b66ea8 /examples/hlapi/v1arch/asyncio/agent/ntforg/default-v1-trap.py | |
parent | 0cf85fdffc601477afb4a9c5568653154fb4eb32 (diff) | |
download | pysnmp-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.py | 55 |
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()) |