# Path: pysnmp/smi/error.py
# class SmiError(PySnmpError, PyAsn1Error): pass
# 
# class NoSuchInstanceError(MibOperationError): pass
# 
# Path: pysnmp/entity/config.py
# def __cookV1SystemInfo(snmpEngine, securityName):
# def addV1System(snmpEngine, securityName, communityName,
#                 contextEngineId=None, contextName=None,
#                 transportTag=None):
# def delV1System(snmpEngine, securityName):
# def __cookV3UserInfo(snmpEngine, securityName, contextEngineId):
# def addV3User(snmpEngine, securityName,
#               authProtocol=usmNoAuthProtocol, authKey=None,
#               privProtocol=usmNoPrivProtocol, privKey=None,
#               contextEngineId=None):
# def delV3User(snmpEngine, securityName, contextEngineId=None):
# def __cookTargetParamsInfo(snmpEngine, name):
# def addTargetParams(
#     snmpEngine,
#     name,
#     securityName,
#     securityLevel,
#     mpModel=3  # 0 == SNMPv1, 1 == SNMPv2c, 3 == SNMPv3
#     ):
# def delTargetParams(snmpEngine, name):
# def __cookTargetAddrInfo(snmpEngine, addrName):
# def addTargetAddr(
#     snmpEngine,
#     addrName,
#     transportDomain,    
#     transportAddress,
#     params,
#     timeout=None,
#     retryCount=None,
#     tagList=null
#     ):
# def delTargetAddr(snmpEngine, addrName):
# def addSocketTransport(snmpEngine, transportDomain, transport):
# def delSocketTransport(snmpEngine, transportDomain):
# def addContext(snmpEngine, contextName):
# def __cookVacmGroupInfo(snmpEngine, securityModel, securityName):
# def addVacmGroup(snmpEngine, groupName, securityModel, securityName):
# def delVacmGroup(snmpEngine, securityModel, securityName):
# def __cookVacmAccessInfo(snmpEngine, groupName, contextName, securityModel,
#                          securityLevel):
# def addVacmAccess(snmpEngine, groupName, contextName, securityModel,
#                   securityLevel, prefix, readView, writeView, notifyView):
# def delVacmAccess(snmpEngine, groupName, contextName, securityModel,
#                   securityLevel):
# def __cookVacmViewInfo(snmpEngine, viewName, subTree):
# def addVacmView(snmpEngine, viewName, viewType, subTree, mask):
# def delVacmView(snmpEngine, viewName, subTree):
# def __cookVacmUserInfo(snmpEngine, securityModel, securityName, securityLevel):
# def addVacmUser(snmpEngine, securityModel, securityName, securityLevel,
#                 readSubTree=(), writeSubTree=(), notifySubTree=(),
#                 contextName=null):
# def delVacmUser(snmpEngine, securityModel, securityName, securityLevel,
#                 readSubTree=(), writeSubTree=(), notifySubTree=()):
# def addRoUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def delRoUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def addRwUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def delRwUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def addTrapUser(snmpEngine,securityModel,securityName,securityLevel,subTree):
# def delTrapUser(snmpEngine,securityModel,securityName,securityLevel,subTree):
# def __cookNotificationTargetInfo(snmpEngine, notificationName, paramsName,
#                                  filterSubtree=None):
# def addNotificationTarget(snmpEngine, notificationName, paramsName,
#                           transportTag, notifyType=None, filterSubtree=None,
#                           filterMask=None, filterType=None):
# def delNotificationTarget(snmpEngine, notificationName, paramsName,
#                           filterSubtree=None):
# def setInitialVacmParameters(snmpEngine):


from pysnmp.smi.error import SmiError, NoSuchInstanceError
from pysnmp.smi.exval import noSuchInstance
from pysnmp.entity import config
          snmpTargetAddrTAddress,
          snmpTargetAddrTimeout,
          snmpTargetAddrRetryCount,
          snmpTargetAddrParams ) = mibBuilder.importSymbols(
                                      'SNMP-TARGET-MIB', 
                                      'snmpTargetAddrTDomain',
                                      'snmpTargetAddrTAddress',
                                      'snmpTargetAddrTimeout',
                                      'snmpTargetAddrRetryCount',
                                      'snmpTargetAddrParams'
                                   )
        tblIdx = snmpTargetAddrEntry.getInstIdFromIndices(snmpTargetAddrName)

        try:
            snmpTargetAddrTDomain = snmpTargetAddrTDomain.getNode(
                snmpTargetAddrTDomain.name + tblIdx
            ).syntax
            snmpTargetAddrTAddress = snmpTargetAddrTAddress.getNode(
                snmpTargetAddrTAddress.name + tblIdx
            ).syntax
            snmpTargetAddrTimeout = snmpTargetAddrTimeout.getNode(
                 snmpTargetAddrTimeout.name + tblIdx
            ).syntax
            snmpTargetAddrRetryCount = snmpTargetAddrRetryCount.getNode(
                snmpTargetAddrRetryCount.name + tblIdx
            ).syntax
            snmpTargetAddrParams = snmpTargetAddrParams.getNode(
                snmpTargetAddrParams.name + tblIdx
            ).syntax
        except NoSuchInstanceError:

# Path: pysnmp/smi/error.py
# class SmiError(PySnmpError, PyAsn1Error): pass
# 
# class NoSuchInstanceError(MibOperationError): pass
# 
# Path: pysnmp/entity/config.py
# def __cookV1SystemInfo(snmpEngine, securityName):
# def addV1System(snmpEngine, securityName, communityName,
#                 contextEngineId=None, contextName=None,
#                 transportTag=None):
# def delV1System(snmpEngine, securityName):
# def __cookV3UserInfo(snmpEngine, securityName, contextEngineId):
# def addV3User(snmpEngine, securityName,
#               authProtocol=usmNoAuthProtocol, authKey=None,
#               privProtocol=usmNoPrivProtocol, privKey=None,
#               contextEngineId=None):
# def delV3User(snmpEngine, securityName, contextEngineId=None):
# def __cookTargetParamsInfo(snmpEngine, name):
# def addTargetParams(
#     snmpEngine,
#     name,
#     securityName,
#     securityLevel,
#     mpModel=3  # 0 == SNMPv1, 1 == SNMPv2c, 3 == SNMPv3
#     ):
# def delTargetParams(snmpEngine, name):
# def __cookTargetAddrInfo(snmpEngine, addrName):
# def addTargetAddr(
#     snmpEngine,
#     addrName,
#     transportDomain,    
#     transportAddress,
#     params,
#     timeout=None,
#     retryCount=None,
#     tagList=null
#     ):
# def delTargetAddr(snmpEngine, addrName):
# def addSocketTransport(snmpEngine, transportDomain, transport):
# def delSocketTransport(snmpEngine, transportDomain):
# def addContext(snmpEngine, contextName):
# def __cookVacmGroupInfo(snmpEngine, securityModel, securityName):
# def addVacmGroup(snmpEngine, groupName, securityModel, securityName):
# def delVacmGroup(snmpEngine, securityModel, securityName):
# def __cookVacmAccessInfo(snmpEngine, groupName, contextName, securityModel,
#                          securityLevel):
# def addVacmAccess(snmpEngine, groupName, contextName, securityModel,
#                   securityLevel, prefix, readView, writeView, notifyView):
# def delVacmAccess(snmpEngine, groupName, contextName, securityModel,
#                   securityLevel):
# def __cookVacmViewInfo(snmpEngine, viewName, subTree):
# def addVacmView(snmpEngine, viewName, viewType, subTree, mask):
# def delVacmView(snmpEngine, viewName, subTree):
# def __cookVacmUserInfo(snmpEngine, securityModel, securityName, securityLevel):
# def addVacmUser(snmpEngine, securityModel, securityName, securityLevel,
#                 readSubTree=(), writeSubTree=(), notifySubTree=(),
#                 contextName=null):
# def delVacmUser(snmpEngine, securityModel, securityName, securityLevel,
#                 readSubTree=(), writeSubTree=(), notifySubTree=()):
# def addRoUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def delRoUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def addRwUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def delRwUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def addTrapUser(snmpEngine,securityModel,securityName,securityLevel,subTree):
# def delTrapUser(snmpEngine,securityModel,securityName,securityLevel,subTree):
# def __cookNotificationTargetInfo(snmpEngine, notificationName, paramsName,
#                                  filterSubtree=None):
# def addNotificationTarget(snmpEngine, notificationName, paramsName,
#                           transportTag, notifyType=None, filterSubtree=None,
#                           filterMask=None, filterType=None):
# def delNotificationTarget(snmpEngine, notificationName, paramsName,
#                           filterSubtree=None):
# def setInitialVacmParameters(snmpEngine):


# Path: pysnmp/entity/rfc3413/config.py
from pysnmp.smi.error import SmiError, NoSuchInstanceError
from pysnmp.smi.exval import noSuchInstance
from pysnmp.entity import config

          snmpTargetAddrTAddress,
          snmpTargetAddrTimeout,
          snmpTargetAddrRetryCount,
          snmpTargetAddrParams ) = mibBuilder.importSymbols(
                                      'SNMP-TARGET-MIB', 
                                      'snmpTargetAddrTDomain',
                                      'snmpTargetAddrTAddress',
                                      'snmpTargetAddrTimeout',
                                      'snmpTargetAddrRetryCount',
                                      'snmpTargetAddrParams'
                                   )
        tblIdx = snmpTargetAddrEntry.getInstIdFromIndices(snmpTargetAddrName)

        try:
            snmpTargetAddrTDomain = snmpTargetAddrTDomain.getNode(
                snmpTargetAddrTDomain.name + tblIdx
            ).syntax
            snmpTargetAddrTAddress = snmpTargetAddrTAddress.getNode(
                snmpTargetAddrTAddress.name + tblIdx
            ).syntax
            snmpTargetAddrTimeout = snmpTargetAddrTimeout.getNode(
                 snmpTargetAddrTimeout.name + tblIdx
            ).syntax
            snmpTargetAddrRetryCount = snmpTargetAddrRetryCount.getNode(
                snmpTargetAddrRetryCount.name + tblIdx
            ).syntax
            snmpTargetAddrParams = snmpTargetAddrParams.getNode(
                snmpTargetAddrParams.name + tblIdx
            ).syntax
        except NoSuchInstanceError:

            raise SmiError('Target %s not configured to LCD' % snmpTargetAddrName)