Common notifications
********************


SNMPv1 TRAP with defaults
=========================

Send SNMPv1 TRAP through unified SNMPv3 message processing framework
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'

* use trollius I/O framework

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 trollius
   from pysnmp.hlapi.asyncio import *


   @trollius.coroutine
   def run():
       snmpEngine = SnmpEngine()
       (errorIndication,
        errorStatus,
        errorIndex,
        varBinds) = yield trollius.From(
           sendNotification(
               snmpEngine,
               CommunityData('public'),  # mpModel=0),
               UdpTransportTarget(('demo.snmplabs.com', 162)),
               ContextData(),
               'inform',
               NotificationType(
                   ObjectIdentity('1.3.6.1.6.3.1.1.5.2')
               ).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'))
               )
           )
       )

       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]))

       snmpEngine.transportDispatcher.closeDispatcher()


   trollius.get_event_loop().run_until_complete(run())

"Download" script.

See also: library reference.
