GETBULK command¶
- async pysnmp.hlapi.asyncio.bulkCmd(snmpEngine: Any, authData: Any, transportTarget: Any, contextData: Any, nonRepeaters: Any, maxRepetitions: Any, *varBinds: Any, **options: Any) SnmpResponse¶
Perform SNMP GETBULK.
- Parameters:
snmpEngine (
SnmpEngine) – Class instance representing SNMP engine.authData (
CommunityDataorUsmUserData) – Class instance representing SNMP credentials.transportTarget (
UdpTransportTargetorUdp6TransportTarget) – Class instance representing transport type along with SNMP peer address.contextData (
ContextData) – Class instance representing SNMP ContextEngineId and ContextName values.nonRepeaters (int) – One MIB variable is requested in response for the first nonRepeaters MIB variables in request.
maxRepetitions (int) – maxRepetitions MIB variables are requested in response for each of the remaining MIB variables in the request (e.g. excluding nonRepeaters). Remote SNMP engine may choose lesser value than requested.
*varBinds (
ObjectType) – One or more class instances representing MIB variables to place into SNMP request.
- Other Parameters:
**options –
Request options:
lookupMib - load MIB and resolve response MIB variables at the cost of slightly reduced performance. Default is True.
- Returns:
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]
varBindTable (tuple) – A sequence of sequences (e.g. 2-D array) of
ObjectTypeclass instances representing a table of MIB variables returned in SNMP response, with up tomaxRepetitionsrows, i.e.len(varBindTable) <= maxRepetitions.For
0 <= i < len(varBindTable)and0 <= j < len(varBinds),varBindTable[i][j]represents:For non-repeaters (
j < nonRepeaters), the first lexicographic successor ofvarBinds[j], regardless the value ofi, or anObjectTypeinstance with theendOfMibViewvalue if no such successor exists;For repeaters (
j >= nonRepeaters), thei-th lexicographic successor ofvarBinds[j], or anObjectTypeinstance with theendOfMibViewvalue if no such successor exists.
See RFC 3416 Section 4.2.3 for details on the underlying
GetBulkRequest-PDUand the associatedGetResponse-PDU, such as specific conditions under which the server may truncate the response, causingvarBindTableto have less thanmaxRepetitionsrows.
- Raises:
pysnmp.error.PySnmpError – Or its derivative indicating that an error occurred while performing SNMP operation.
Examples
>>> import asyncio >>> from pysnmp.hlapi.asyncio import * >>> >>> async def run(): ... result_bulk = await bulkCmd( ... SnmpEngine(), ... CommunityData('public'), ... UdpTransportTarget(('localhost', 161)), ... ContextData(), ... 0, 2, ... ObjectType(ObjectIdentity('SNMPv2-MIB', 'system')) ... ) ... errorIndication, errorStatus, errorIndex, varBinds = result_bulk ... print(errorIndication, errorStatus, errorIndex, varBinds) >>> >>> # Run the coroutine against a live agent, for example: >>> # asyncio.run(run())