У меня установлен NAPALM, и я работаю над получением фактов с одного устройства за раз. Однако я задумал немного изменить ситуацию, теперь я пытаюсь использовать вложенный словарь для подключения к своим устройствам, но получаю сообщение об ошибке.
import napalm
from napalm_ros import ros
database_devices={
"cisco":{
"hostname":"152.0.0.2",
"type":"ios",
"username":"cisco",
"password":"cisco",
"optional_args":{"secret" : "cisco"}
},
"mikrotik":{
"hostname":"152.0.0.2",
"type":"ros",
"username":"mikrotik",
"password":"mikrotik",
"optional_args":{"port" : "8728 "}
}
}
for key,values in database_devices.items():
print("Connecting to " + key)
driver=napalm.get_network_driver(values.get("type",{}))
device=driver(
hostname=values.get("hostname",{})
username=values.get("username",{})
password=values.get("password"),{})
optional_args=values.get("optional_args",{})
device.open()
Я попытался поставить запятую между моими устройствами в устройство = драйвер, но я тоже не могу подключиться. И я думаю, что у меня будет еще одна проблема, когда я смогу это исправить, мое значение optional_args отличается в cisco и mikrotik, в cisco мой дополнительный аргумент - это мой пароль включения, в mikrotik - это порт. Как я могу получить эти значения в моем для ? спасибо за любую помощь.