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]) |