def get_auth_data(cls, instance):
        '''
        Generate a Security Parameters object based on the instance's
        configuration.
        See http://pysnmp.sourceforge.net/docs/current/security-configuration.html
        '''
        if "community_string" in instance:
            # SNMP v1 - SNMP v2

            # See http://pysnmp.sourceforge.net/docs/current/security-configuration.html
            if int(instance.get("snmp_version", 2)) == 1:
                return hlapi.CommunityData(instance['community_string'], mpModel=0)
            return hlapi.CommunityData(instance['community_string'], mpModel=1)

        elif "user" in instance:
            # SNMP v3
            user = instance["user"]
            auth_key = None
            priv_key = None
            auth_protocol = None
            priv_protocol = None
            if "authKey" in instance:
                auth_key = instance["authKey"]
                auth_protocol = hlapi.usmHMACMD5AuthProtocol
            if "privKey" in instance:
                priv_key = instance["privKey"]
                auth_protocol = hlapi.usmHMACMD5AuthProtocol
                priv_protocol = hlapi.usmDESPrivProtocol
            if "authProtocol" in instance:
                auth_protocol = getattr(hlapi, instance["authProtocol"])
            if "privProtocol" in instance:
                priv_protocol = getattr(hlapi, instance["privProtocol"])
            return hlapi.UsmUserData(user, auth_key, priv_key, auth_protocol, priv_protocol)
        else:
            raise Exception("An authentication method needs to be provided")
def get_auth_data ( cls , instance ) : if "community_string" in instance : if int ( instance . get ( "snmp_version" , 2 ) ) == 1 : return hlapi . CommunityData ( instance [ 'community_string' ] , mpModel = 0 ) return hlapi . CommunityData ( instance [ 'community_string' ] , mpModel = 1 ) elif "user" in instance : user = instance [ "user" ] auth_key = None priv_key = None auth_protocol = None priv_protocol = None if "authKey" in instance : auth_key = instance [ "authKey" ] auth_protocol = hlapi . usmHMACMD5AuthProtocol if "privKey" in instance : priv_key = instance [ "privKey" ] auth_protocol = hlapi . usmHMACMD5AuthProtocol priv_protocol = hlapi . usmDESPrivProtocol if "authProtocol" in instance : auth_protocol = getattr ( hlapi , instance [ "authProtocol" ] ) if "privProtocol" in instance : priv_protocol = getattr ( hlapi , instance [ "privProtocol" ] ) return hlapi . UsmUserData ( user , auth_key , priv_key , auth_protocol , priv_protocol ) else : raise Exception ( "An authentication method needs to be provided" )
Generate a Security Parameters object based on the instance's
        configuration.
        See http://pysnmp.sourceforge.net/docs/current/security-configuration.html