Statistics
| Branch: | Tag: | Revision:

root / examples / nc03.py @ master

History | View | Annotate | Download (766 Bytes)

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