1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#!/usr/bin/python3
#
# Retrieve a portion selected by an XPATH expression from the running
# config from the NETCONF server passed on the command line using
# get-config and write the XML configs to files.
#
# $ ./nc03.py broccoli "aaa/authentication/users/user[name='schoenw']"
import sys, os, warnings
warnings.simplefilter("ignore", DeprecationWarning)
from ncclient import manager
def demo(host, user, expr):
with manager.connect(host=host, port=22, username=user) as m:
assert(":xpath" in m.server_capabilities)
c = m.get_config(source='running', filter=('xpath', expr)).data_xml
with open("%s.xml" % host, 'w') as f:
f.write(c)
if __name__ == '__main__':
demo(sys.argv[1], os.getenv("USER"), sys.argv[2])
|