root / examples / nc05.py @ master
History | View | Annotate | Download (916 Bytes)
1 | 91c5e202 | Shikhar Bhushan | #! /usr/bin/env python2.6
|
---|---|---|---|
2 | 91c5e202 | Shikhar Bhushan | #
|
3 | 91c5e202 | Shikhar Bhushan | # Delete an existing user from the running configuration using
|
4 | 91c5e202 | Shikhar Bhushan | # edit-config and the test-option provided by the :validate
|
5 | 91c5e202 | Shikhar Bhushan | # capability.
|
6 | 91c5e202 | Shikhar Bhushan | #
|
7 | 91c5e202 | Shikhar Bhushan | # $ ./nc05.py broccoli bob
|
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, name): |
14 | 91c5e202 | Shikhar Bhushan | snippet = """<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
|
15 | 91c5e202 | Shikhar Bhushan | <aaa xmlns="http://tail-f.com/ns/aaa/1.1">
|
16 | 91c5e202 | Shikhar Bhushan | <authentication> <users> <user xc:operation="delete">
|
17 | 91c5e202 | Shikhar Bhushan | <name>%s</name>
|
18 | 91c5e202 | Shikhar Bhushan | </user></users></authentication></aaa></config>""" % name
|
19 | 91c5e202 | Shikhar Bhushan | |
20 | 91c5e202 | Shikhar Bhushan | with manager.connect(host=host, port=22, username=user) as m: |
21 | 91c5e202 | Shikhar Bhushan | assert(":validate" in m.server_capabilities) |
22 | 91c5e202 | Shikhar Bhushan | m.edit_config(target='running', config=snippet,
|
23 | 91c5e202 | Shikhar Bhushan | test_option='test-then-set')
|
24 | 91c5e202 | Shikhar Bhushan | |
25 | 91c5e202 | Shikhar Bhushan | if __name__ == '__main__': |
26 | 91c5e202 | Shikhar Bhushan | demo(sys.argv[1], os.getenv("USER"), sys.argv[2]) |