Statistics
| Branch: | Tag: | Revision:

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