Napalm and Cisco IOS

Categories Automation, Cisco, Devnet, Python
Napalm

Copy and pasta into a text file name it CHANGES.cfg

vlan 999
name BLACKHOLE
default int ra fa 1/0/10 - 20
int ra fa 1/0/10 - 20
sw mo acc
sw acc vlan 999
vlan 120
name TEST

Copy and pasta into a text file name it whatever you like with a .py python extension.

import json
from netmiko import ConnectHandle
from napalm import get_network_driver

driver = get_network_driver('ios')
c3750 = driver('10.0.10.24','lab','lab')
c3750.open()

print ('Accessing..')
c3750.load_merge_candidate(filename='CHANGES.cfg')

print ('Comparing Config Changes to Current Running Configuration.')
diffs = c3750.compare_config()
if len(diffs) > 0:
print(diffs)
c3750.commit_config()
else:
print('No changes needed.')
c3750.discard_config()

print ('Saving Config..')
c3750.commit_config()
print ('Config Saved..')
c3750.close()
print ('Connection Closed..')