TRAP/INFORM notification¶
- pysnmp.hlapi.sendNotification(snmpEngine, authData, transportTarget, contextData, notifyType, varBinds, **options)¶
Creates a generator to send one or more SNMP notifications.
On each iteration, new SNMP TRAP or INFORM notification is send (RFC 1905 Section 4,2,6). The iterator blocks waiting for INFORM acknowlegement to arrive or error to occur.
- Parameters:
snmpEngine (
SnmpEngine
) – Class instance representing SNMP engine.authData (
CommunityData
orUsmUserData
) – Class instance representing SNMP credentials.transportTarget (
UdpTransportTarget
orUdp6TransportTarget
) – Class instance representing transport type along with SNMP peer address.contextData (
ContextData
) – Class instance representing SNMP ContextEngineId and ContextName values.notifyType (str) – Indicates type of notification to be sent. Recognized literal values are trap or inform.
varBinds (tuple) – Single
NotificationType
class instance representing a minimum sequence of MIB variables required for particular notification type. Alternatively, a sequence ofObjectType
objects could be passed instead. In the latter case it is up to the user to ensure proper Notification PDU contents.
- Other Parameters:
**options –
Request options:
lookupMib - load MIB and resolve response MIB variables at the cost of slightly reduced performance. Default is True.
- Yields:
errorIndication (str) – True value indicates SNMP engine error.
errorStatus (str) – True value indicates SNMP PDU error.
errorIndex (int) – Non-zero value refers to varBinds[errorIndex-1]
varBinds (tuple) – A sequence of
ObjectType
class instances representing MIB variables returned in SNMP response.
- Raises:
PySnmpError – Or its derivative indicating that an error occurred while performing SNMP operation.
Notes
The sendNotification generator will be exhausted immidiately unless an instance of
NotificationType
class or a sequence ofObjectType
varBinds are send back into running generator (supported since Python 2.6).Examples
>>> from pysnmp.hlapi import * >>> g = sendNotification(SnmpEngine(), ... CommunityData('public'), ... UdpTransportTarget(('demo.snmplabs.com', 162)), ... ContextData(), ... 'trap', ... NotificationType(ObjectIdentity('IF-MIB', 'linkDown'))) >>> next(g) (None, 0, 0, []) >>>