root / docs / source / intro.rst @ 216bb34c
History | View | Annotate | Download (1 kB)
1 | 216bb34c | Shikhar Bhushan | ************* |
---|---|---|---|
2 | 216bb34c | Shikhar Bhushan | Introduction |
3 | 216bb34c | Shikhar Bhushan | ************* |
4 | 216bb34c | Shikhar Bhushan | |
5 | 216bb34c | Shikhar Bhushan | NCClient is a Python library for NETCONF clients. NETCONF is a network management protocol defined in :rfc:`4741`. It is meant for Python 2.6+ (not Python 3 yet, though). |
6 | 216bb34c | Shikhar Bhushan | |
7 | 216bb34c | Shikhar Bhushan | The features of NCClient include: |
8 | 216bb34c | Shikhar Bhushan | |
9 | 216bb34c | Shikhar Bhushan | * Request pipelining. |
10 | 216bb34c | Shikhar Bhushan | * (A)synchronous RPC requests. |
11 | 216bb34c | Shikhar Bhushan | * Keeps XML out of the way unless really needed. |
12 | 216bb34c | Shikhar Bhushan | * Supports all operations and capabilities defined in :rfc:`4741`. |
13 | 216bb34c | Shikhar Bhushan | * Extensible. New transport mappings and capabilities/operations can be easily added. |
14 | 216bb34c | Shikhar Bhushan | |
15 | 216bb34c | Shikhar Bhushan | The best way to introduce is of course, through a simple code example:: |
16 | 216bb34c | Shikhar Bhushan | |
17 | 216bb34c | Shikhar Bhushan | from ncclient import manager |
18 | 216bb34c | Shikhar Bhushan | |
19 | 216bb34c | Shikhar Bhushan | with manager.connect_ssh('host', 'username') as m: |
20 | 216bb34c | Shikhar Bhushan | assert(":url" in manager.server_capabilities) |
21 | 216bb34c | Shikhar Bhushan | with m.locked('running'): |
22 | 216bb34c | Shikhar Bhushan | m.copy_config(source="running", target="file://new_checkpoint.conf") |
23 | 216bb34c | Shikhar Bhushan | m.copy_config(source="file://old_checkpoint.conf", target="running") |
24 | 216bb34c | Shikhar Bhushan | |
25 | 216bb34c | Shikhar Bhushan | It is recommended to use the high-level :class:`Manager` API where possible. It exposes almost all of the functionality. |