from netmiko import ConnectHandler R1 = { "host": "10.0.0.103", "username": "cisco", "password": "cisco", "secret": "cisco", "device_type": "cisco_ios" } net_connect = ConnectHandler(**R1) output = net_connect.send_command("show version") print(output) net_connect.disconnect() output = net_connect.send_command("show version", use_textfsm=True) from netmiko import ConnectHandler R1 = { "host": "10.0.0.103", "username": "cisco", "password": "cisco", "secret": "cisco", "device_type": "cisco_ios" } R2 = { "host": "10.0.0.104", "username": "cisco", "password": "cisco", "secret": "cisco", "device_type": "cisco_ios" } R3 = { "host": "10.0.0.105", "username": "cisco", "password": "cisco", "secret": "cisco", "device_type": "cisco_ios" } for device in [R1, R2, R3]: net_connect = ConnectHandler(**device) output = net_connect.send_command("show version", use_textfsm=True) print(output) net_connect.disconnect() print(output[0]["version"]) from pyats.topology import loader testbed = loader.load("testbed.yaml") devices = testbed.devices.values() for i, device in enumerate(devices, start = 1): commands = ["interface Loopback0", "description Made by PyATS", f"ip address 10.{i}.{i}.{i} 255.255.255.255" ] device.connect(log_stdout = False) output = device.configure(commands) print(output) device.disconnect() from pyats.topology import loader testbed = loader.load("testbed.yaml") devices = testbed.devices.values() for i, device in enumerate(devices, start = 1): commands = "show ip interface brief" device.connect(log_stdout = False) output = device.parse(commands) print(output) device.disconnect() print(output["interface"]["Loopback0"]["ip_address"])