File "C:\Users\cyruslab\PycharmProjects\netautoapi\lib\site-packages\napalm_asa\asa.py", line 73, in get_auth_token raise ConnectionException(py23_compat.text_type(e)) napalm.base.exceptions.ConnectionException: HTTPSConnectionPool(host='192.168.100.30', port=22): Max retries exceeded with url: /api/tokenservices (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1076)')))
I am using the napalm-asa
asa driver, however this driver can only be used if the Cisco ASA installs the REST API package, hence for cisco ASA that does not have REST API, Napalm cannot be used. Instead use netmiko, netmiko is using ssh and has methods to let you send commands.
It is not recommended to use a python wrapper to call REST APIs, requests module can do REST API calling easier, more direct and less complex in additional you can build your own logics while calling the APIs hence easier to control and troubleshoot for you.
This is the code which I use to test, but it will not work since my ASAv has no REST API.
from napalm import get_network_driver from pyvault2.vault.hvault2 import get_kv2_secret from pprint import pprint driver = get_network_driver("asa") vault_data = get_kv2_secret(mount_path="cisco_asa", path="fw02", find="data") device_config = { "hostname": vault_data["ip"], "username": vault_data["username"], "password": vault_data["password"] } with driver(**device_config) as fw02: intf = fw02.get_facts() pprint(intf)