From 2f24177c361ba4d9deba2d7378f84aa96111db80 Mon Sep 17 00:00:00 2001 From: elie Date: Mon, 14 Sep 2015 05:20:24 +0000 Subject: * synchronous oneliner apps redesigned to offer Python generator-based API along with a more comprehensive set of accepted parameters. * massively documented (in Sphinx, NumPy style) --- .../ntforg/inform-v3-with-custom-contextname.py | 87 ++++++++++++---------- 1 file changed, 46 insertions(+), 41 deletions(-) (limited to 'examples/v3arch/asyncore/oneliner/agent/ntforg/inform-v3-with-custom-contextname.py') diff --git a/examples/v3arch/asyncore/oneliner/agent/ntforg/inform-v3-with-custom-contextname.py b/examples/v3arch/asyncore/oneliner/agent/ntforg/inform-v3-with-custom-contextname.py index ed87fdc..1b3e1f8 100644 --- a/examples/v3arch/asyncore/oneliner/agent/ntforg/inform-v3-with-custom-contextname.py +++ b/examples/v3arch/asyncore/oneliner/agent/ntforg/inform-v3-with-custom-contextname.py @@ -1,43 +1,48 @@ -# -# Notification Originator -# -# Send SNMP notification using the following options: -# -# * SNMPv3 -# * with user 'usr-md5-none', MD5 auth, no priv -# * send INFORM notification -# * in behalf of contextEngineId = SnmpEngineId, contextName 'my-context' -# * over IPv4/UDP -# * with TRAP ID 'warmStart' specified as a string OID -# -# Sending SNMPv3 Notification in behalf of non-default ContextName -# requires having a collection of Managed Objects registered under -# the ContextName being used. -# +""" +INFORM with custom ContextName +++++++++++++++++++++++++++++++ + +Send SNMP notification using the following options: + +* SNMPv3 +* with user 'usr-md5-none', MD5 auth, no priv +* send INFORM notification +* in behalf of contextEngineId = SnmpEngineId, contextName 'my-context' +* over IPv4/UDP +* with TRAP ID 'warmStart' specified as a string OID + +Sending SNMPv3 Notification in behalf of non-default ContextName +requires having a collection of Managed Objects registered under +the ContextName being used. + +Functionally similar to: + +| $ snmpinform -v3 -l authNoPriv -u usr-md5-none -A authkey1 \ +| -n my-context \ +| demo.snmplabs.com \ +| 12345 \ +| 1.3.6.1.6.3.1.1.5.2 + +"""# from pysnmp.entity.rfc3413.oneliner.ntforg import * -for errorIndication, \ - errorStatus, errorIndex, \ - varBinds in \ - sendNotification(SnmpEngine(), - UsmUserData('usr-md5-none', 'authkey1'), - UdpTransportTarget(('localhost', 162)), - ContextData(contextName='my-context'), - 'inform', - NotificationType( - ObjectIdentity('1.3.6.1.6.3.1.1.5.2') - ), - lookupNames=True, lookupValues=True): - # Check for errors and print out results - if errorIndication: - print(errorIndication) - else: - if errorStatus: - print('%s at %s' % ( - errorStatus.prettyPrint(), - errorIndex and varBinds[int(errorIndex)-1][0] or '?' - ) - ) - else: - for varBind in varBinds: - print(' = '.join([ x.prettyPrint() for x in varBind ])) +errorIndication, errorStatus, errorIndex, varBinds = next( + sendNotification(SnmpEngine(), + UsmUserData('usr-md5-none', 'authkey1'), + UdpTransportTarget(('localhost', 162)), + ContextData(contextName='my-context'), + 'inform', + NotificationType(ObjectIdentity('1.3.6.1.6.3.1.1.5.2'))) +) + +if errorIndication: + print(errorIndication) +elif errorStatus: + print('%s at %s' % ( + errorStatus.prettyPrint(), + errorIndex and varBinds[int(errorIndex)-1][0] or '?' + ) + ) +else: + for varBind in varBinds: + print(' = '.join([ x.prettyPrint() for x in varBind ])) -- cgit v1.2.1