Revision 84e0f4f2
b/docs/source/extending.rst | ||
---|---|---|
1 |
Extending ncclient |
|
2 |
================== |
|
3 |
|
|
4 |
Here it is briefly discussed how new transport mappings and new operations can be added. |
b/docs/source/index.rst | ||
---|---|---|
1 | 1 |
ncclient documentation |
2 | 2 |
====================== |
3 | 3 |
|
4 |
ncclient is a Python library for NETCONF clients. NETCONF is a network management protocol defined in :rfc:`4741`. It is suitable for Python 2.6+ (not Python 3 yet, though), and depends on paramiko, an SSH library. |
|
5 |
|
|
6 |
The objective is to offer an intuitive API that sensibly maps the XML-encoded parameters of NETCONF to Python constructs and idioms. The other features are: |
|
7 |
|
|
8 |
* Supports all operations and capabilities defined in :rfc:`4741`. |
|
9 |
* Request pipelining. |
|
10 |
* Asynchronous RPC requests. |
|
11 |
* Keeping XML out of the way unless really needed. |
|
12 |
* Extensible. New transport mappings and capabilities/operations can be easily added. |
|
13 |
|
|
14 |
The best way to introduce is of course, through a simple code example:: |
|
15 |
|
|
16 |
from ncclient import manager |
|
17 |
|
|
18 |
# use ssh-agent or ~/.ssh keys for auth, and relying on known_hosts |
|
19 |
with manager.connect_ssh("host", username="username") as m: |
|
20 |
assert(":url" in manager.server_capabilities) |
|
21 |
with m.locked("running"): |
|
22 |
m.copy_config(source="running", target="file:///new_checkpoint.conf") |
|
23 |
m.copy_config(source="file:///old_checkpoint.conf", target="running") |
|
24 |
|
|
4 | 25 |
Contents: |
5 | 26 |
|
6 | 27 |
.. toctree:: |
7 |
:maxdepth: 2 |
|
28 |
|
|
29 |
manager |
|
30 |
extending |
|
8 | 31 |
|
9 | 32 |
Indices and tables |
10 | 33 |
================== |
... | ... | |
12 | 35 |
* :ref:`genindex` |
13 | 36 |
* :ref:`modindex` |
14 | 37 |
* :ref:`search` |
15 |
|
b/docs/source/manager.rst | ||
---|---|---|
1 |
High-level API |
|
2 |
============== |
|
3 |
|
|
4 |
Most use-cases are met by using the high-level :class:`Manager` API. |
Also available in: Unified diff