def getTargetParams(snmpEngine, paramsName): mibInstrumController = snmpEngine.msgAndPduDsp.mibInstrumController snmpTargetParamsEntry, = mibInstrumController.mibBuilder.importSymbols( 'SNMP-TARGET-MIB', 'snmpTargetParamsEntry' ) tblIdx = snmpTargetParamsEntry.getInstIdFromIndices( paramsName ) ((v, snmpTargetParamsMPModel), (v, snmpTargetParamsSecurityModel), (v, snmpTargetParamsSecurityName), (v, snmpTargetParamsSecurityLevel)) = mibInstrumController.readVars( ((snmpTargetParamsEntry.name + (2,) + tblIdx, None), (snmpTargetParamsEntry.name + (3,) + tblIdx, None), (snmpTargetParamsEntry.name + (4,) + tblIdx, None), (snmpTargetParamsEntry.name + (5,) + tblIdx, None)) ) if noSuchInstance.isSameTypeWith(snmpTargetParamsMPModel): raise SmiError('Parameters %s not configured at SMI' % paramsName) return ( snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, snmpTargetParamsSecurityLevel )
def getTargetParams(snmpEngine, paramsName): mibInstrumController = snmpEngine.msgAndPduDsp.mibInstrumController snmpTargetParamsEntry, = mibInstrumController.mibBuilder.importSymbols( 'SNMP-TARGET-MIB', 'snmpTargetParamsEntry' ) tblIdx = snmpTargetParamsEntry.getInstIdFromIndices( paramsName ) ((v, snmpTargetParamsMPModel), (v, snmpTargetParamsSecurityModel), (v, snmpTargetParamsSecurityName), (v, snmpTargetParamsSecurityLevel)) = mibInstrumController.readVarsFast( ((snmpTargetParamsEntry.name + (2,) + tblIdx, None), (snmpTargetParamsEntry.name + (3,) + tblIdx, None), (snmpTargetParamsEntry.name + (4,) + tblIdx, None), (snmpTargetParamsEntry.name + (5,) + tblIdx, None)) ) if noSuchInstance.isSameTypeWith(snmpTargetParamsMPModel): raise SmiError('Parameters %s not configured at SMI' % paramsName) return ( snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, snmpTargetParamsSecurityLevel )
def getNotificationInfo(snmpEngine, notificationTarget): mibInstrumController = snmpEngine.msgAndPduDsp.mibInstrumController # Transport endpoint snmpNotifyEntry, = mibInstrumController.mibBuilder.importSymbols( 'SNMP-NOTIFICATION-MIB', 'snmpNotifyEntry' ) tblIdx = snmpNotifyEntry.getInstIdFromIndices( notificationTarget ) ((v, snmpNotifyTag), (v, snmpNotifyType)) = mibInstrumController.readVarsFast( ((snmpNotifyEntry.name + (2,) + tblIdx, None), (snmpNotifyEntry.name + (3,) + tblIdx, None)) ) if noSuchInstance.isSameTypeWith(snmpNotifyTag): raise SmiError('Target %s not configured at SMI' % notificationTarget) return snmpNotifyTag, snmpNotifyType
def getNotificationInfo(snmpEngine, notificationTarget): mibInstrumController = snmpEngine.msgAndPduDsp.mibInstrumController # Transport endpoint snmpNotifyEntry, = mibInstrumController.mibBuilder.importSymbols( 'SNMP-NOTIFICATION-MIB', 'snmpNotifyEntry' ) tblIdx = snmpNotifyEntry.getInstIdFromIndices( notificationTarget ) ((v, snmpNotifyTag), (v, snmpNotifyType)) = mibInstrumController.readVars( ((snmpNotifyEntry.name + (2,) + tblIdx, None), (snmpNotifyEntry.name + (3,) + tblIdx, None)) ) if noSuchInstance.isSameTypeWith(snmpNotifyTag): raise SmiError('Target %s not configured at SMI' % notificationTarget) return snmpNotifyTag, snmpNotifyType
def getTargetAddr(snmpEngine, snmpTargetAddrName): mibInstrumController = snmpEngine.msgAndPduDsp.mibInstrumController # Transport endpoint snmpTargetAddrEntry, = mibInstrumController.mibBuilder.importSymbols( 'SNMP-TARGET-MIB', 'snmpTargetAddrEntry' ) tblIdx = snmpTargetAddrEntry.getInstIdFromIndices( snmpTargetAddrName ) ((v, snmpTargetAddrTDomain), (v, snmpTargetAddrTAddress), (v, snmpTargetAddrTimeout), (v, snmpTargetAddrRetryCount), (v, snmpTargetAddrParams)) = mibInstrumController.readVarsFast( ((snmpTargetAddrEntry.name + (2,) + tblIdx, None), (snmpTargetAddrEntry.name + (3,) + tblIdx, None), (snmpTargetAddrEntry.name + (4,) + tblIdx, None), (snmpTargetAddrEntry.name + (5,) + tblIdx, None), (snmpTargetAddrEntry.name + (7,) + tblIdx, None)) ) if noSuchInstance.isSameTypeWith(snmpTargetAddrParams): raise SmiError('Target %s not configured at SMI' % snmpTargetAddrName) if snmpTargetAddrTDomain[:len(config.snmpUDPDomain)] == config.snmpUDPDomain: SnmpUDPAddress, = snmpEngine.msgAndPduDsp.mibInstrumController.mibBuilder.importSymbols('SNMPv2-TM', 'SnmpUDPAddress') snmpTargetAddrTAddress = tuple( SnmpUDPAddress(snmpTargetAddrTAddress) ) elif snmpTargetAddrTDomain[:len(config.snmpUDP6Domain)] == config.snmpUDP6Domain: TransportAddressIPv6, = snmpEngine.msgAndPduDsp.mibInstrumController.mibBuilder.importSymbols('TRANSPORT-ADDRESS-MIB', 'TransportAddressIPv6') snmpTargetAddrTAddress = tuple( TransportAddressIPv6(snmpTargetAddrTAddress) ) return ( snmpTargetAddrTDomain, snmpTargetAddrTAddress, snmpTargetAddrTimeout, snmpTargetAddrRetryCount, snmpTargetAddrParams )
def oid_str_value(self, oid): # type: (hlapi.ObjectType) -> str """Display an OID object and its associated value. Output: '1.3.4.5.6': 57 """ if noSuchInstance.isSameTypeWith(oid[1]): value = "'NoSuchInstance'" elif endOfMibView.isSameTypeWith(oid[1]): value = "'EndOfMibView'" else: value = oid[1].prettyPrint() try: value = str(int(value)) except (TypeError, ValueError): value = "'{}'".format(value) key = oid[0] if not isinstance(key, ObjectName): key = key.getOid() return "'{}': {}".format(key.prettyPrint(), value)
def getTargetInfo(snmpEngine, snmpTargetAddrName): # Transport endpoint ( snmpTargetAddrTDomain, snmpTargetAddrTAddress, snmpTargetAddrTimeout, snmpTargetAddrRetryCount, snmpTargetAddrParams ) = getTargetAddr(snmpEngine, snmpTargetAddrName) mibInstrumController = snmpEngine.msgAndPduDsp.mibInstrumController # Target params snmpTargetParamsEntry, = mibInstrumController.mibBuilder.importSymbols( 'SNMP-TARGET-MIB', 'snmpTargetParamsEntry' ) tblIdx = snmpTargetParamsEntry.getInstIdFromIndices( snmpTargetAddrParams ) ((v, snmpTargetParamsMPModel), (v, snmpTargetParamsSecurityModel), (v, snmpTargetParamsSecurityName), (v, snmpTargetParamsSecurityLevel)) = mibInstrumController.readVarsFast( ((snmpTargetParamsEntry.name + (2,) + tblIdx, None), (snmpTargetParamsEntry.name + (3,) + tblIdx, None), (snmpTargetParamsEntry.name + (4,) + tblIdx, None), (snmpTargetParamsEntry.name + (5,) + tblIdx, None)) ) if noSuchInstance.isSameTypeWith(snmpTargetParamsSecurityName): raise SmiError('Parameters %s not configured at SMI' % snmpTargetAddrParams) return ( snmpTargetAddrTDomain, snmpTargetAddrTAddress, snmpTargetAddrTimeout, snmpTargetAddrRetryCount, snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, snmpTargetParamsSecurityLevel )
def getTargetInfo(snmpEngine, snmpTargetAddrName): # Transport endpoint ( snmpTargetAddrTDomain, snmpTargetAddrTAddress, snmpTargetAddrTimeout, snmpTargetAddrRetryCount, snmpTargetAddrParams ) = getTargetAddr(snmpEngine, snmpTargetAddrName) mibInstrumController = snmpEngine.msgAndPduDsp.mibInstrumController # Target params snmpTargetParamsEntry, = mibInstrumController.mibBuilder.importSymbols( 'SNMP-TARGET-MIB', 'snmpTargetParamsEntry' ) tblIdx = snmpTargetParamsEntry.getInstIdFromIndices( snmpTargetAddrParams ) ((v, snmpTargetParamsMPModel), (v, snmpTargetParamsSecurityModel), (v, snmpTargetParamsSecurityName), (v, snmpTargetParamsSecurityLevel)) = mibInstrumController.readVars( ((snmpTargetParamsEntry.name + (2,) + tblIdx, None), (snmpTargetParamsEntry.name + (3,) + tblIdx, None), (snmpTargetParamsEntry.name + (4,) + tblIdx, None), (snmpTargetParamsEntry.name + (5,) + tblIdx, None)) ) if noSuchInstance.isSameTypeWith(snmpTargetParamsSecurityName): raise SmiError('Parameters %s not configured at SMI' % snmpTargetAddrParams) return ( snmpTargetAddrTDomain, snmpTargetAddrTAddress, snmpTargetAddrTimeout, snmpTargetAddrRetryCount, snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, snmpTargetParamsSecurityLevel )
def getTargetAddr(snmpEngine, snmpTargetAddrName): mibInstrumController = snmpEngine.msgAndPduDsp.mibInstrumController # Transport endpoint snmpTargetAddrEntry, = mibInstrumController.mibBuilder.importSymbols( 'SNMP-TARGET-MIB', 'snmpTargetAddrEntry' ) tblIdx = snmpTargetAddrEntry.getInstIdFromIndices( snmpTargetAddrName ) ((v, snmpTargetAddrTDomain), (v, snmpTargetAddrTAddress), (v, snmpTargetAddrTimeout), (v, snmpTargetAddrRetryCount), (v, snmpTargetAddrParams)) = mibInstrumController.readVars( ((snmpTargetAddrEntry.name + (2,) + tblIdx, None), (snmpTargetAddrEntry.name + (3,) + tblIdx, None), (snmpTargetAddrEntry.name + (4,) + tblIdx, None), (snmpTargetAddrEntry.name + (5,) + tblIdx, None), (snmpTargetAddrEntry.name + (7,) + tblIdx, None)) ) if noSuchInstance.isSameTypeWith(snmpTargetAddrParams): raise SmiError('Target %s not configured at SMI' % snmpTargetAddrName) if snmpTargetAddrTDomain == config.snmpUDPDomain: SnmpUDPAddress, = snmpEngine.msgAndPduDsp.mibInstrumController.mibBuilder.importSymbols('SNMPv2-TM', 'SnmpUDPAddress') snmpTargetAddrTAddress = tuple( SnmpUDPAddress(snmpTargetAddrTAddress) ) return ( snmpTargetAddrTDomain, snmpTargetAddrTAddress, snmpTargetAddrTimeout, snmpTargetAddrRetryCount, snmpTargetAddrParams )
def reply_invalid(oid): return noSuchInstance.isSameTypeWith(oid) or noSuchObject.isSameTypeWith(oid)
def reply_invalid(oid): return noSuchInstance.isSameTypeWith(oid) or \ noSuchObject.isSameTypeWith(oid)