Statistics
| Branch: | Tag: | Revision:

root / docs / build / latex / ncclient.tex @ 0b7d3b31

History | View | Annotate | Download (57.1 kB)

1 216bb34c Shikhar Bhushan
% Generated by Sphinx.
2 216bb34c Shikhar Bhushan
\documentclass[a4paper,10pt,english]{manual}
3 216bb34c Shikhar Bhushan
\usepackage[utf8]{inputenc}
4 216bb34c Shikhar Bhushan
\usepackage[T1]{fontenc}
5 216bb34c Shikhar Bhushan
\usepackage{babel}
6 216bb34c Shikhar Bhushan
\usepackage{times}
7 216bb34c Shikhar Bhushan
\usepackage[Bjarne]{fncychap}
8 216bb34c Shikhar Bhushan
\usepackage{sphinx}
9 216bb34c Shikhar Bhushan
10 216bb34c Shikhar Bhushan
11 216bb34c Shikhar Bhushan
\title{NCClient Documentation}
12 216bb34c Shikhar Bhushan
\date{May 17, 2009}
13 216bb34c Shikhar Bhushan
\release{0.1.1a}
14 216bb34c Shikhar Bhushan
\author{Shikhar Bhushan}
15 216bb34c Shikhar Bhushan
\newcommand{\sphinxlogo}{}
16 216bb34c Shikhar Bhushan
\renewcommand{\releasename}{Release}
17 216bb34c Shikhar Bhushan
\makeindex
18 216bb34c Shikhar Bhushan
\makemodindex
19 216bb34c Shikhar Bhushan
\newcommand\PYGZat{@}
20 216bb34c Shikhar Bhushan
\newcommand\PYGZlb{[}
21 216bb34c Shikhar Bhushan
\newcommand\PYGZrb{]}
22 216bb34c Shikhar Bhushan
\newcommand\PYGaz[1]{\textcolor[rgb]{0.00,0.63,0.00}{#1}}
23 216bb34c Shikhar Bhushan
\newcommand\PYGax[1]{\textcolor[rgb]{0.84,0.33,0.22}{\textbf{#1}}}
24 216bb34c Shikhar Bhushan
\newcommand\PYGay[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
25 216bb34c Shikhar Bhushan
\newcommand\PYGar[1]{\textcolor[rgb]{0.73,0.38,0.84}{#1}}
26 216bb34c Shikhar Bhushan
\newcommand\PYGas[1]{\textcolor[rgb]{0.25,0.44,0.63}{\textit{#1}}}
27 216bb34c Shikhar Bhushan
\newcommand\PYGap[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
28 216bb34c Shikhar Bhushan
\newcommand\PYGaq[1]{\textcolor[rgb]{0.38,0.68,0.84}{#1}}
29 216bb34c Shikhar Bhushan
\newcommand\PYGav[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
30 216bb34c Shikhar Bhushan
\newcommand\PYGaw[1]{\textcolor[rgb]{0.13,0.50,0.31}{#1}}
31 216bb34c Shikhar Bhushan
\newcommand\PYGat[1]{\textcolor[rgb]{0.73,0.38,0.84}{#1}}
32 216bb34c Shikhar Bhushan
\newcommand\PYGau[1]{\textcolor[rgb]{0.32,0.47,0.09}{#1}}
33 216bb34c Shikhar Bhushan
\newcommand\PYGaj[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
34 216bb34c Shikhar Bhushan
\newcommand\PYGak[1]{\textcolor[rgb]{0.14,0.33,0.53}{#1}}
35 216bb34c Shikhar Bhushan
\newcommand\PYGah[1]{\textcolor[rgb]{0.00,0.13,0.44}{\textbf{#1}}}
36 216bb34c Shikhar Bhushan
\newcommand\PYGai[1]{\textcolor[rgb]{0.73,0.38,0.84}{#1}}
37 216bb34c Shikhar Bhushan
\newcommand\PYGan[1]{\textcolor[rgb]{0.13,0.50,0.31}{#1}}
38 216bb34c Shikhar Bhushan
\newcommand\PYGao[1]{\textcolor[rgb]{0.25,0.44,0.63}{\textbf{#1}}}
39 216bb34c Shikhar Bhushan
\newcommand\PYGal[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
40 216bb34c Shikhar Bhushan
\newcommand\PYGam[1]{\textbf{#1}}
41 216bb34c Shikhar Bhushan
\newcommand\PYGab[1]{\textit{#1}}
42 216bb34c Shikhar Bhushan
\newcommand\PYGac[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
43 216bb34c Shikhar Bhushan
\newcommand\PYGaa[1]{\textcolor[rgb]{0.19,0.19,0.19}{#1}}
44 216bb34c Shikhar Bhushan
\newcommand\PYGaf[1]{\textcolor[rgb]{0.25,0.50,0.56}{\textit{#1}}}
45 216bb34c Shikhar Bhushan
\newcommand\PYGag[1]{\textcolor[rgb]{0.13,0.50,0.31}{#1}}
46 216bb34c Shikhar Bhushan
\newcommand\PYGad[1]{\textcolor[rgb]{0.00,0.25,0.82}{#1}}
47 216bb34c Shikhar Bhushan
\newcommand\PYGae[1]{\textcolor[rgb]{0.13,0.50,0.31}{#1}}
48 216bb34c Shikhar Bhushan
\newcommand\PYGaZ[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
49 216bb34c Shikhar Bhushan
\newcommand\PYGbf[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
50 216bb34c Shikhar Bhushan
\newcommand\PYGaX[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
51 216bb34c Shikhar Bhushan
\newcommand\PYGaY[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
52 216bb34c Shikhar Bhushan
\newcommand\PYGbc[1]{\textcolor[rgb]{0.78,0.36,0.04}{#1}}
53 216bb34c Shikhar Bhushan
\newcommand\PYGbb[1]{\textcolor[rgb]{0.00,0.00,0.50}{\textbf{#1}}}
54 216bb34c Shikhar Bhushan
\newcommand\PYGba[1]{\textcolor[rgb]{0.02,0.16,0.45}{\textbf{#1}}}
55 216bb34c Shikhar Bhushan
\newcommand\PYGaR[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
56 216bb34c Shikhar Bhushan
\newcommand\PYGaS[1]{\textcolor[rgb]{0.13,0.50,0.31}{#1}}
57 216bb34c Shikhar Bhushan
\newcommand\PYGaP[1]{\textcolor[rgb]{0.05,0.52,0.71}{\textbf{#1}}}
58 216bb34c Shikhar Bhushan
\newcommand\PYGaQ[1]{\textcolor[rgb]{0.78,0.36,0.04}{\textbf{#1}}}
59 216bb34c Shikhar Bhushan
\newcommand\PYGaV[1]{\textcolor[rgb]{0.25,0.50,0.56}{\textit{#1}}}
60 216bb34c Shikhar Bhushan
\newcommand\PYGaW[1]{\textcolor[rgb]{0.05,0.52,0.71}{\textbf{#1}}}
61 216bb34c Shikhar Bhushan
\newcommand\PYGaT[1]{\textcolor[rgb]{0.73,0.38,0.84}{#1}}
62 216bb34c Shikhar Bhushan
\newcommand\PYGaU[1]{\textcolor[rgb]{0.13,0.50,0.31}{#1}}
63 216bb34c Shikhar Bhushan
\newcommand\PYGaJ[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
64 216bb34c Shikhar Bhushan
\newcommand\PYGaK[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
65 216bb34c Shikhar Bhushan
\newcommand\PYGaH[1]{\textcolor[rgb]{0.50,0.00,0.50}{\textbf{#1}}}
66 216bb34c Shikhar Bhushan
\newcommand\PYGaI[1]{\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{#1}}
67 216bb34c Shikhar Bhushan
\newcommand\PYGaN[1]{\textcolor[rgb]{0.73,0.73,0.73}{#1}}
68 216bb34c Shikhar Bhushan
\newcommand\PYGaO[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
69 216bb34c Shikhar Bhushan
\newcommand\PYGaL[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
70 216bb34c Shikhar Bhushan
\newcommand\PYGaM[1]{\colorbox[rgb]{1.00,0.94,0.94}{\textcolor[rgb]{0.25,0.50,0.56}{#1}}}
71 216bb34c Shikhar Bhushan
\newcommand\PYGaB[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
72 216bb34c Shikhar Bhushan
\newcommand\PYGaC[1]{\textcolor[rgb]{0.33,0.33,0.33}{\textbf{#1}}}
73 216bb34c Shikhar Bhushan
\newcommand\PYGaA[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
74 216bb34c Shikhar Bhushan
\newcommand\PYGaF[1]{\textcolor[rgb]{0.63,0.00,0.00}{#1}}
75 216bb34c Shikhar Bhushan
\newcommand\PYGaG[1]{\textcolor[rgb]{1.00,0.00,0.00}{#1}}
76 216bb34c Shikhar Bhushan
\newcommand\PYGaD[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
77 216bb34c Shikhar Bhushan
\newcommand\PYGaE[1]{\textcolor[rgb]{0.25,0.50,0.56}{\textit{#1}}}
78 216bb34c Shikhar Bhushan
\newcommand\PYGbg[1]{\textcolor[rgb]{0.44,0.63,0.82}{\textit{#1}}}
79 216bb34c Shikhar Bhushan
\newcommand\PYGbe[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
80 216bb34c Shikhar Bhushan
\newcommand\PYGbd[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
81 216bb34c Shikhar Bhushan
\newcommand\PYGbh[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
82 216bb34c Shikhar Bhushan
\begin{document}
83 216bb34c Shikhar Bhushan
84 216bb34c Shikhar Bhushan
\maketitle
85 216bb34c Shikhar Bhushan
\tableofcontents
86 216bb34c Shikhar Bhushan
87 216bb34c Shikhar Bhushan
88 216bb34c Shikhar Bhushan
89 216bb34c Shikhar Bhushan
\resetcurrentobjects
90 216bb34c Shikhar Bhushan
\hypertarget{--doc-intro}{}
91 216bb34c Shikhar Bhushan
92 216bb34c Shikhar Bhushan
\chapter{Introduction}
93 216bb34c Shikhar Bhushan
94 0b7d3b31 Shikhar Bhushan
NCClient is a Python library for NETCONF clients. NETCONF is a network management protocol defined in \index{RFC!RFC 4741}\href{http://tools.ietf.org/html/rfc4741.html}{\textbf{RFC 4741}}.
95 0b7d3b31 Shikhar Bhushan
96 0b7d3b31 Shikhar Bhushan
It is meant for Python 2.6+ (not Python 3 yet, though).
97 216bb34c Shikhar Bhushan
98 216bb34c Shikhar Bhushan
The features of NCClient include:
99 216bb34c Shikhar Bhushan
\begin{itemize}
100 216bb34c Shikhar Bhushan
\item {} 
101 216bb34c Shikhar Bhushan
Request pipelining.
102 216bb34c Shikhar Bhushan
103 216bb34c Shikhar Bhushan
\item {} 
104 216bb34c Shikhar Bhushan
(A)synchronous RPC requests.
105 216bb34c Shikhar Bhushan
106 216bb34c Shikhar Bhushan
\item {} 
107 216bb34c Shikhar Bhushan
Keeps XML out of the way unless really needed.
108 216bb34c Shikhar Bhushan
109 216bb34c Shikhar Bhushan
\item {} 
110 216bb34c Shikhar Bhushan
Supports all operations and capabilities defined in \index{RFC!RFC 4741}\href{http://tools.ietf.org/html/rfc4741.html}{\textbf{RFC 4741}}.
111 216bb34c Shikhar Bhushan
112 216bb34c Shikhar Bhushan
\item {} 
113 216bb34c Shikhar Bhushan
Extensible. New transport mappings and capabilities/operations can be easily added.
114 216bb34c Shikhar Bhushan
115 216bb34c Shikhar Bhushan
\end{itemize}
116 216bb34c Shikhar Bhushan
117 216bb34c Shikhar Bhushan
The best way to introduce is of course, through a simple code example:
118 216bb34c Shikhar Bhushan
119 216bb34c Shikhar Bhushan
\begin{Verbatim}[commandchars=@\[\]]
120 216bb34c Shikhar Bhushan
@PYGal[from] @PYGaW[ncclient] @PYGal[import] manager
121 216bb34c Shikhar Bhushan
122 216bb34c Shikhar Bhushan
@PYGay[with] manager@PYGbe[.]connect@_ssh(@PYGaB[']@PYGaB[host]@PYGaB['], @PYGaB[']@PYGaB[username]@PYGaB[']) @PYGay[as] m:
123 216bb34c Shikhar Bhushan
    @PYGay[assert](@PYGaB["]@PYGaB[:url]@PYGaB["] @PYGav[in] manager@PYGbe[.]server@_capabilities)
124 216bb34c Shikhar Bhushan
    @PYGay[with] m@PYGbe[.]locked(@PYGaB[']@PYGaB[running]@PYGaB[']):
125 216bb34c Shikhar Bhushan
        m@PYGbe[.]copy@_config(source@PYGbe[=]@PYGaB["]@PYGaB[running]@PYGaB["], target@PYGbe[=]@PYGaB["]@PYGaB[file://new@_checkpoint.conf]@PYGaB["])
126 216bb34c Shikhar Bhushan
        m@PYGbe[.]copy@_config(source@PYGbe[=]@PYGaB["]@PYGaB[file://old@_checkpoint.conf]@PYGaB["], target@PYGbe[=]@PYGaB["]@PYGaB[running]@PYGaB["])
127 216bb34c Shikhar Bhushan
\end{Verbatim}
128 216bb34c Shikhar Bhushan
129 216bb34c Shikhar Bhushan
It is recommended to use the high-level \code{Manager} API where possible. It exposes almost all of the functionality.
130 216bb34c Shikhar Bhushan
131 216bb34c Shikhar Bhushan
\resetcurrentobjects
132 216bb34c Shikhar Bhushan
\hypertarget{--doc-userdoc}{}
133 216bb34c Shikhar Bhushan
134 216bb34c Shikhar Bhushan
\hypertarget{userdoc}{}\chapter{User documentation}
135 216bb34c Shikhar Bhushan
136 216bb34c Shikhar Bhushan
\resetcurrentobjects
137 216bb34c Shikhar Bhushan
\hypertarget{--doc-userdoc/manager}{}
138 216bb34c Shikhar Bhushan
139 216bb34c Shikhar Bhushan
\section{\texttt{manager} module}
140 216bb34c Shikhar Bhushan
\index{ncclient.manager (module)}
141 216bb34c Shikhar Bhushan
\hypertarget{module-ncclient.manager}{}
142 216bb34c Shikhar Bhushan
\declaremodule[ncclient.manager]{}{ncclient.manager}
143 216bb34c Shikhar Bhushan
\modulesynopsis{}
144 216bb34c Shikhar Bhushan
145 216bb34c Shikhar Bhushan
\subsection{Dealing with RPC errors}
146 216bb34c Shikhar Bhushan
147 216bb34c Shikhar Bhushan
These constants define what \hyperlink{ncclient.manager.Manager}{\code{Manager}} does when an \emph{\textless{}rpc-error\textgreater{}} element is encountered in a reply.
148 216bb34c Shikhar Bhushan
\index{RAISE\_ALL (in module ncclient.manager)}
149 216bb34c Shikhar Bhushan
150 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.RAISE_ALL}{}\begin{datadesc}{RAISE\_ALL}
151 216bb34c Shikhar Bhushan
Raise all \hyperlink{ncclient.operations.rpc.RPCError}{\code{RPCError}}
152 216bb34c Shikhar Bhushan
\end{datadesc}
153 216bb34c Shikhar Bhushan
\index{RAISE\_ERR (in module ncclient.manager)}
154 216bb34c Shikhar Bhushan
155 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.RAISE_ERR}{}\begin{datadesc}{RAISE\_ERR}
156 216bb34c Shikhar Bhushan
Only raise when \emph{error-severity} is ``error'' i.e. no warnings
157 216bb34c Shikhar Bhushan
\end{datadesc}
158 216bb34c Shikhar Bhushan
\index{RAISE\_NONE (in module ncclient.manager)}
159 216bb34c Shikhar Bhushan
160 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.RAISE_NONE}{}\begin{datadesc}{RAISE\_NONE}
161 216bb34c Shikhar Bhushan
Don't raise any
162 216bb34c Shikhar Bhushan
\end{datadesc}
163 216bb34c Shikhar Bhushan
164 216bb34c Shikhar Bhushan
165 216bb34c Shikhar Bhushan
\subsection{Manager instances}
166 216bb34c Shikhar Bhushan
167 216bb34c Shikhar Bhushan
\hyperlink{ncclient.manager.Manager}{\code{Manager}} instances are created by the \hyperlink{ncclient.manager.connect}{\code{connect()}} family of factory functions. Currently only \hyperlink{ncclient.manager.connect_ssh}{\code{connect\_ssh()}} is available.
168 216bb34c Shikhar Bhushan
\index{connect() (in module ncclient.manager)}
169 216bb34c Shikhar Bhushan
170 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.connect}{}\begin{funcdesc}{connect}{*args, **kwds}
171 216bb34c Shikhar Bhushan
Same as \hyperlink{ncclient.manager.connect_ssh}{\code{connect\_ssh()}}
172 216bb34c Shikhar Bhushan
\end{funcdesc}
173 216bb34c Shikhar Bhushan
\index{connect\_ssh() (in module ncclient.manager)}
174 216bb34c Shikhar Bhushan
175 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.connect_ssh}{}\begin{funcdesc}{connect\_ssh}{*args, **kwds}
176 216bb34c Shikhar Bhushan
Connect to NETCONF server over SSH. See \hyperlink{ncclient.transport.SSHSession.connect}{\code{SSHSession.connect()}} for function signature.
177 216bb34c Shikhar Bhushan
\end{funcdesc}
178 216bb34c Shikhar Bhushan
\index{Manager (class in ncclient.manager)}
179 216bb34c Shikhar Bhushan
180 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager}{}\begin{classdesc}{Manager}{session}
181 216bb34c Shikhar Bhushan
API for NETCONF operations. Currently only supports making synchronous
182 216bb34c Shikhar Bhushan
RPC requests.
183 216bb34c Shikhar Bhushan
184 216bb34c Shikhar Bhushan
It is also a context manager, so a \hyperlink{ncclient.manager.Manager}{\code{Manager}} instance can be used
185 216bb34c Shikhar Bhushan
with the \emph{with} statement. The session is closed when the context ends.
186 216bb34c Shikhar Bhushan
\index{set\_rpc\_error\_action() (ncclient.manager.Manager method)}
187 216bb34c Shikhar Bhushan
188 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.set_rpc_error_action}{}\begin{methoddesc}{set\_rpc\_error\_action}{action}
189 216bb34c Shikhar Bhushan
Specify the action to take when an \emph{\textless{}rpc-error\textgreater{}} element is encountered.
190 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
191 216bb34c Shikhar Bhushan
\item[Parameter]
192 216bb34c Shikhar Bhushan
\emph{action} -- one of \hyperlink{ncclient.manager.RAISE_ALL}{\code{RAISE\_ALL}}, \hyperlink{ncclient.manager.RAISE_ERR}{\code{RAISE\_ERR}}, \hyperlink{ncclient.manager.RAISE_NONE}{\code{RAISE\_NONE}}
193 216bb34c Shikhar Bhushan
194 216bb34c Shikhar Bhushan
\end{description}\end{quote}
195 216bb34c Shikhar Bhushan
\end{methoddesc}
196 216bb34c Shikhar Bhushan
\index{get() (ncclient.manager.Manager method)}
197 216bb34c Shikhar Bhushan
198 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.get}{}\begin{methoddesc}{get}{*args, **kwds}~\begin{quote}\begin{description}
199 216bb34c Shikhar Bhushan
\item[See]
200 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.Get.request}{\code{Get.request()}}
201 216bb34c Shikhar Bhushan
202 216bb34c Shikhar Bhushan
\end{description}\end{quote}
203 216bb34c Shikhar Bhushan
\end{methoddesc}
204 216bb34c Shikhar Bhushan
\index{get\_config() (ncclient.manager.Manager method)}
205 216bb34c Shikhar Bhushan
206 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.get_config}{}\begin{methoddesc}{get\_config}{*args, **kwds}~\begin{quote}\begin{description}
207 216bb34c Shikhar Bhushan
\item[See]
208 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.GetConfig.request}{\code{GetConfig.request()}}
209 216bb34c Shikhar Bhushan
210 216bb34c Shikhar Bhushan
\end{description}\end{quote}
211 216bb34c Shikhar Bhushan
\end{methoddesc}
212 216bb34c Shikhar Bhushan
\index{edit\_config() (ncclient.manager.Manager method)}
213 216bb34c Shikhar Bhushan
214 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.edit_config}{}\begin{methoddesc}{edit\_config}{*args, **kwds}~\begin{quote}\begin{description}
215 216bb34c Shikhar Bhushan
\item[See]
216 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.EditConfig.request}{\code{EditConfig.request()}}
217 216bb34c Shikhar Bhushan
218 216bb34c Shikhar Bhushan
\end{description}\end{quote}
219 216bb34c Shikhar Bhushan
\end{methoddesc}
220 216bb34c Shikhar Bhushan
\index{copy\_config() (ncclient.manager.Manager method)}
221 216bb34c Shikhar Bhushan
222 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.copy_config}{}\begin{methoddesc}{copy\_config}{*args, **kwds}~\begin{quote}\begin{description}
223 216bb34c Shikhar Bhushan
\item[See]
224 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.CopyConfig.request}{\code{CopyConfig.request()}}
225 216bb34c Shikhar Bhushan
226 216bb34c Shikhar Bhushan
\end{description}\end{quote}
227 216bb34c Shikhar Bhushan
\end{methoddesc}
228 216bb34c Shikhar Bhushan
\index{validate() (ncclient.manager.Manager method)}
229 216bb34c Shikhar Bhushan
230 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.validate}{}\begin{methoddesc}{validate}{*args, **kwds}~\begin{quote}\begin{description}
231 216bb34c Shikhar Bhushan
\item[See]
232 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.Validate.request}{\code{GetConfig.request()}}
233 216bb34c Shikhar Bhushan
234 216bb34c Shikhar Bhushan
\end{description}\end{quote}
235 216bb34c Shikhar Bhushan
\end{methoddesc}
236 216bb34c Shikhar Bhushan
\index{commit() (ncclient.manager.Manager method)}
237 216bb34c Shikhar Bhushan
238 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.commit}{}\begin{methoddesc}{commit}{*args, **kwds}~\begin{quote}\begin{description}
239 216bb34c Shikhar Bhushan
\item[See]
240 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.Commit.request}{\code{Commit.request()}}
241 216bb34c Shikhar Bhushan
242 216bb34c Shikhar Bhushan
\end{description}\end{quote}
243 216bb34c Shikhar Bhushan
\end{methoddesc}
244 216bb34c Shikhar Bhushan
\index{discard\_changes() (ncclient.manager.Manager method)}
245 216bb34c Shikhar Bhushan
246 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.discard_changes}{}\begin{methoddesc}{discard\_changes}{*args, **kwds}~\begin{quote}\begin{description}
247 216bb34c Shikhar Bhushan
\item[See]
248 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.DiscardChanges.request}{\code{DiscardChanges.request()}}
249 216bb34c Shikhar Bhushan
250 216bb34c Shikhar Bhushan
\end{description}\end{quote}
251 216bb34c Shikhar Bhushan
\end{methoddesc}
252 216bb34c Shikhar Bhushan
\index{delete\_config() (ncclient.manager.Manager method)}
253 216bb34c Shikhar Bhushan
254 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.delete_config}{}\begin{methoddesc}{delete\_config}{*args, **kwds}~\begin{quote}\begin{description}
255 216bb34c Shikhar Bhushan
\item[See]
256 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.DeleteConfig.request}{\code{DeleteConfig.request()}}
257 216bb34c Shikhar Bhushan
258 216bb34c Shikhar Bhushan
\end{description}\end{quote}
259 216bb34c Shikhar Bhushan
\end{methoddesc}
260 216bb34c Shikhar Bhushan
\index{lock() (ncclient.manager.Manager method)}
261 216bb34c Shikhar Bhushan
262 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.lock}{}\begin{methoddesc}{lock}{*args, **kwds}~\begin{quote}\begin{description}
263 216bb34c Shikhar Bhushan
\item[See]
264 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.Lock.request}{\code{Lock.request()}}
265 216bb34c Shikhar Bhushan
266 216bb34c Shikhar Bhushan
\end{description}\end{quote}
267 216bb34c Shikhar Bhushan
\end{methoddesc}
268 216bb34c Shikhar Bhushan
\index{unlock() (ncclient.manager.Manager method)}
269 216bb34c Shikhar Bhushan
270 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.unlock}{}\begin{methoddesc}{unlock}{*args, **kwds}~\begin{quote}\begin{description}
271 216bb34c Shikhar Bhushan
\item[See]
272 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.Unlock.request}{\code{DiscardChanges.request()}}
273 216bb34c Shikhar Bhushan
274 216bb34c Shikhar Bhushan
\end{description}\end{quote}
275 216bb34c Shikhar Bhushan
\end{methoddesc}
276 216bb34c Shikhar Bhushan
\index{close\_session() (ncclient.manager.Manager method)}
277 216bb34c Shikhar Bhushan
278 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.close_session}{}\begin{methoddesc}{close\_session}{*args, **kwds}~\begin{quote}\begin{description}
279 216bb34c Shikhar Bhushan
\item[See]
280 0b7d3b31 Shikhar Bhushan
\hyperlink{ncclient.operations.CloseSession.request}{\code{CloseSession.request()}}
281 216bb34c Shikhar Bhushan
282 216bb34c Shikhar Bhushan
\end{description}\end{quote}
283 216bb34c Shikhar Bhushan
\end{methoddesc}
284 216bb34c Shikhar Bhushan
\index{kill\_session() (ncclient.manager.Manager method)}
285 216bb34c Shikhar Bhushan
286 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.kill_session}{}\begin{methoddesc}{kill\_session}{*args, **kwds}~\begin{quote}\begin{description}
287 216bb34c Shikhar Bhushan
\item[See]
288 0b7d3b31 Shikhar Bhushan
\hyperlink{ncclient.operations.KillSession.request}{\code{KillSession.request()}}
289 216bb34c Shikhar Bhushan
290 216bb34c Shikhar Bhushan
\end{description}\end{quote}
291 216bb34c Shikhar Bhushan
\end{methoddesc}
292 216bb34c Shikhar Bhushan
\index{locked() (ncclient.manager.Manager method)}
293 216bb34c Shikhar Bhushan
294 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.locked}{}\begin{methoddesc}{locked}{target}
295 216bb34c Shikhar Bhushan
Returns a context manager for the \emph{with} statement.
296 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
297 216bb34c Shikhar Bhushan
\item[Parameter]
298 216bb34c Shikhar Bhushan
\emph{target} (\href{http://docs.python.org/library/string.html\#string}{\code{string}}) -- name of the datastore to lock
299 216bb34c Shikhar Bhushan
300 216bb34c Shikhar Bhushan
\item[Return type]
301 0b7d3b31 Shikhar Bhushan
\hyperlink{ncclient.operations.LockContext}{\code{LockContext}}
302 216bb34c Shikhar Bhushan
303 216bb34c Shikhar Bhushan
\end{description}\end{quote}
304 216bb34c Shikhar Bhushan
\end{methoddesc}
305 216bb34c Shikhar Bhushan
\index{close() (ncclient.manager.Manager method)}
306 216bb34c Shikhar Bhushan
307 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.close}{}\begin{methoddesc}{close}{}
308 216bb34c Shikhar Bhushan
Closes the NETCONF session. First does \emph{\textless{}close-session\textgreater{}} RPC.
309 216bb34c Shikhar Bhushan
\end{methoddesc}
310 216bb34c Shikhar Bhushan
\index{client\_capabilities (ncclient.manager.Manager attribute)}
311 216bb34c Shikhar Bhushan
312 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.client_capabilities}{}\begin{memberdesc}{client\_capabilities}
313 216bb34c Shikhar Bhushan
\hyperlink{ncclient.capabilities.Capabilities}{\code{Capabilities}} object for client
314 216bb34c Shikhar Bhushan
\end{memberdesc}
315 216bb34c Shikhar Bhushan
\index{server\_capabilities (ncclient.manager.Manager attribute)}
316 216bb34c Shikhar Bhushan
317 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.server_capabilities}{}\begin{memberdesc}{server\_capabilities}
318 216bb34c Shikhar Bhushan
\hyperlink{ncclient.capabilities.Capabilities}{\code{Capabilities}} object for server
319 216bb34c Shikhar Bhushan
\end{memberdesc}
320 216bb34c Shikhar Bhushan
\index{session\_id (ncclient.manager.Manager attribute)}
321 216bb34c Shikhar Bhushan
322 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.session_id}{}\begin{memberdesc}{session\_id}
323 216bb34c Shikhar Bhushan
\emph{\textless{}session-id\textgreater{}} as assigned by NETCONF server
324 216bb34c Shikhar Bhushan
\end{memberdesc}
325 216bb34c Shikhar Bhushan
\index{connected (ncclient.manager.Manager attribute)}
326 216bb34c Shikhar Bhushan
327 216bb34c Shikhar Bhushan
\hypertarget{ncclient.manager.Manager.connected}{}\begin{memberdesc}{connected}
328 216bb34c Shikhar Bhushan
Whether currently connected to NETCONF server
329 216bb34c Shikhar Bhushan
\end{memberdesc}
330 216bb34c Shikhar Bhushan
\end{classdesc}
331 216bb34c Shikhar Bhushan
332 216bb34c Shikhar Bhushan
\resetcurrentobjects
333 216bb34c Shikhar Bhushan
\hypertarget{--doc-userdoc/capabilities}{}
334 216bb34c Shikhar Bhushan
335 216bb34c Shikhar Bhushan
\section{\texttt{capabilities} module}
336 216bb34c Shikhar Bhushan
\index{ncclient.capabilities (module)}
337 216bb34c Shikhar Bhushan
\hypertarget{module-ncclient.capabilities}{}
338 216bb34c Shikhar Bhushan
\declaremodule[ncclient.capabilities]{}{ncclient.capabilities}
339 216bb34c Shikhar Bhushan
\modulesynopsis{}\index{CAPABILITIES (in module ncclient.capabilities)}
340 216bb34c Shikhar Bhushan
341 216bb34c Shikhar Bhushan
\hypertarget{ncclient.capabilities.CAPABILITIES}{}\begin{datadesc}{CAPABILITIES}
342 216bb34c Shikhar Bhushan
\hyperlink{ncclient.capabilities.Capabilities}{\code{Capabilities}} object representing the capabilities currently supported by NCClient
343 216bb34c Shikhar Bhushan
\end{datadesc}
344 216bb34c Shikhar Bhushan
\index{Capabilities (class in ncclient.capabilities)}
345 216bb34c Shikhar Bhushan
346 216bb34c Shikhar Bhushan
\hypertarget{ncclient.capabilities.Capabilities}{}\begin{classdesc}{Capabilities}{capabilities}
347 216bb34c Shikhar Bhushan
Represents the set of capabilities for a NETCONF client or server.
348 216bb34c Shikhar Bhushan
Initialised with a list of capability URI's.
349 216bb34c Shikhar Bhushan
350 216bb34c Shikhar Bhushan
Presence of a capability can be checked with the \emph{in} operations. In addition
351 216bb34c Shikhar Bhushan
to the URI, for capabilities of the form
352 216bb34c Shikhar Bhushan
\emph{urn:ietf:params:netconf:capability:\$name:\$version} their shorthand can be
353 216bb34c Shikhar Bhushan
used as a key. For example, for
354 216bb34c Shikhar Bhushan
\emph{urn:ietf:params:netconf:capability:candidate:1.0} the shorthand would be
355 216bb34c Shikhar Bhushan
\emph{:candidate}. If version is significant, use \emph{:candidate:1.0} as key.
356 216bb34c Shikhar Bhushan
\index{add() (ncclient.capabilities.Capabilities method)}
357 216bb34c Shikhar Bhushan
358 216bb34c Shikhar Bhushan
\hypertarget{ncclient.capabilities.Capabilities.add}{}\begin{methoddesc}{add}{uri}
359 216bb34c Shikhar Bhushan
Add a capability
360 216bb34c Shikhar Bhushan
\end{methoddesc}
361 216bb34c Shikhar Bhushan
\index{check() (ncclient.capabilities.Capabilities method)}
362 216bb34c Shikhar Bhushan
363 216bb34c Shikhar Bhushan
\hypertarget{ncclient.capabilities.Capabilities.check}{}\begin{methoddesc}{check}{key}
364 216bb34c Shikhar Bhushan
Whether specified capability is present.
365 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
366 216bb34c Shikhar Bhushan
\item[Parameter]
367 216bb34c Shikhar Bhushan
\emph{key} -- URI or shorthand
368 216bb34c Shikhar Bhushan
369 216bb34c Shikhar Bhushan
\end{description}\end{quote}
370 216bb34c Shikhar Bhushan
\end{methoddesc}
371 216bb34c Shikhar Bhushan
\index{remove() (ncclient.capabilities.Capabilities method)}
372 216bb34c Shikhar Bhushan
373 216bb34c Shikhar Bhushan
\hypertarget{ncclient.capabilities.Capabilities.remove}{}\begin{methoddesc}{remove}{uri}
374 216bb34c Shikhar Bhushan
Remove a capability
375 216bb34c Shikhar Bhushan
\end{methoddesc}
376 216bb34c Shikhar Bhushan
\end{classdesc}
377 216bb34c Shikhar Bhushan
378 216bb34c Shikhar Bhushan
\resetcurrentobjects
379 216bb34c Shikhar Bhushan
\hypertarget{--doc-userdoc/content}{}
380 216bb34c Shikhar Bhushan
381 216bb34c Shikhar Bhushan
\section{\texttt{content} module}
382 216bb34c Shikhar Bhushan
\index{ncclient.content (module)}
383 216bb34c Shikhar Bhushan
\hypertarget{module-ncclient.content}{}
384 216bb34c Shikhar Bhushan
\declaremodule[ncclient.content]{}{ncclient.content}
385 216bb34c Shikhar Bhushan
\modulesynopsis{Content layer}
386 216bb34c Shikhar Bhushan
The \code{content} module provides methods for creating XML documents, parsing XML, and converting between different XML representations. It uses \href{http://docs.python.org/library/xml.etree.elementtree.html\#module-xml.etree.ElementTree}{\code{ElementTree}} internally.
387 216bb34c Shikhar Bhushan
388 216bb34c Shikhar Bhushan
389 216bb34c Shikhar Bhushan
\subsection{Namespaces}
390 216bb34c Shikhar Bhushan
391 216bb34c Shikhar Bhushan
The following namespace is defined in this module.
392 216bb34c Shikhar Bhushan
\index{BASE\_NS (in module ncclient.content)}
393 216bb34c Shikhar Bhushan
394 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.BASE_NS}{}\begin{datadesc}{BASE\_NS}
395 216bb34c Shikhar Bhushan
Base NETCONf namespace
396 216bb34c Shikhar Bhushan
\end{datadesc}
397 216bb34c Shikhar Bhushan
398 216bb34c Shikhar Bhushan
Namespaces are handled just the same way as \href{http://docs.python.org/library/xml.etree.elementtree.html\#module-xml.etree.ElementTree}{\code{ElementTree}}. So a qualified name takes the form \emph{\{namespace\}tag}. There are some utility functions for qualified names:
399 216bb34c Shikhar Bhushan
\index{qualify() (in module ncclient.content)}
400 216bb34c Shikhar Bhushan
401 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.qualify}{}\begin{funcdesc}{qualify}{tag, {[}ns=BASE\_NS{]}}~\begin{quote}\begin{description}
402 216bb34c Shikhar Bhushan
\item[Returns]
403 216bb34c Shikhar Bhushan
qualified name
404 216bb34c Shikhar Bhushan
405 216bb34c Shikhar Bhushan
\end{description}\end{quote}
406 216bb34c Shikhar Bhushan
\end{funcdesc}
407 216bb34c Shikhar Bhushan
\index{unqualify() (in module ncclient.content)}
408 216bb34c Shikhar Bhushan
409 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.unqualify}{}\begin{funcdesc}{unqualify}{tag}~\begin{quote}\begin{description}
410 216bb34c Shikhar Bhushan
\item[Returns]
411 216bb34c Shikhar Bhushan
unqualified name
412 216bb34c Shikhar Bhushan
413 216bb34c Shikhar Bhushan
\end{description}\end{quote}
414 216bb34c Shikhar Bhushan
415 216bb34c Shikhar Bhushan
\begin{notice}{note}{Note:}
416 216bb34c Shikhar Bhushan
It is strongly recommended to compare qualified names.
417 216bb34c Shikhar Bhushan
\end{notice}
418 216bb34c Shikhar Bhushan
\end{funcdesc}
419 216bb34c Shikhar Bhushan
\hypertarget{dtree}{}
420 216bb34c Shikhar Bhushan
421 216bb34c Shikhar Bhushan
\subsection{DictTree XML representation}
422 216bb34c Shikhar Bhushan
423 216bb34c Shikhar Bhushan
\begin{notice}{note}{Note:}
424 216bb34c Shikhar Bhushan
Where this representation is stipulated, an XML literal or \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}} is just fine as well.
425 216bb34c Shikhar Bhushan
\end{notice}
426 216bb34c Shikhar Bhushan
427 216bb34c Shikhar Bhushan
\code{ncclient} can make use of a special syntax for XML based on Python dictionaries. It is best illustrated through an example:
428 216bb34c Shikhar Bhushan
429 216bb34c Shikhar Bhushan
\begin{Verbatim}[commandchars=@\[\]]
430 216bb34c Shikhar Bhushan
dtree @PYGbe[=] {
431 216bb34c Shikhar Bhushan
    @PYGaB[']@PYGaB[tag]@PYGaB[']: qualify(@PYGaB[']@PYGaB[a]@PYGaB['], @PYGaB[']@PYGaB[some@_namespace]@PYGaB[']),
432 216bb34c Shikhar Bhushan
    @PYGaB[']@PYGaB[attrib]@PYGaB[']: {@PYGaB[']@PYGaB[attr]@PYGaB[']: @PYGaB[']@PYGaB[val]@PYGaB[']},
433 216bb34c Shikhar Bhushan
    @PYGaB[']@PYGaB[subtree]@PYGaB[']: @PYGZlb[] { @PYGaB[']@PYGaB[tag]@PYGaB[']: @PYGaB[']@PYGaB[child1]@PYGaB['] }, { @PYGaB[']@PYGaB[tag]@PYGaB[']: @PYGaB[']@PYGaB[child2]@PYGaB['], @PYGaB[']@PYGaB[text]@PYGaB[']: @PYGaB[']@PYGaB[some text]@PYGaB['] } @PYGZrb[]
434 216bb34c Shikhar Bhushan
}
435 216bb34c Shikhar Bhushan
\end{Verbatim}
436 216bb34c Shikhar Bhushan
437 216bb34c Shikhar Bhushan
Calling \hyperlink{ncclient.content.dtree2xml}{\code{dtree2xml()}} on \emph{dtree} would return
438 216bb34c Shikhar Bhushan
439 216bb34c Shikhar Bhushan
\begin{Verbatim}[commandchars=@\[\]]
440 216bb34c Shikhar Bhushan
@PYGaO[@textless[]?xml version="1.0" encoding="UTF-8"?@textgreater[]]
441 216bb34c Shikhar Bhushan
@PYGba[@textless[]ns0:a] @PYGaR[attr=]@PYGaB["val"] @PYGaR[xmlns:ns0=]@PYGaB["some@_namespace"]@PYGba[@textgreater[]]
442 216bb34c Shikhar Bhushan
    @PYGba[@textless[]child1] @PYGba[/@textgreater[]]
443 216bb34c Shikhar Bhushan
    @PYGba[@textless[]child2]@PYGba[@textgreater[]]some text@PYGba[@textless[]/child2@textgreater[]]
444 216bb34c Shikhar Bhushan
@PYGba[@textless[]/ns0:a@textgreater[]]
445 216bb34c Shikhar Bhushan
\end{Verbatim}
446 216bb34c Shikhar Bhushan
447 216bb34c Shikhar Bhushan
In addition to a `pure' dictionary representation a DictTree node (including the root) may be an XML literal or an \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}} instance. The above example could thus be equivalently written as:
448 216bb34c Shikhar Bhushan
449 216bb34c Shikhar Bhushan
\begin{Verbatim}[commandchars=@\[\]]
450 216bb34c Shikhar Bhushan
dtree2 @PYGbe[=] {
451 216bb34c Shikhar Bhushan
    @PYGaB[']@PYGaB[tag]@PYGaB[']: @PYGaB[']@PYGaB[{ns}a]@PYGaB['],
452 216bb34c Shikhar Bhushan
    @PYGaB[']@PYGaB[attrib]@PYGaB[']: {@PYGaB[']@PYGaB[attr]@PYGaB[']: @PYGaB[']@PYGaB[val]@PYGaB[']},
453 216bb34c Shikhar Bhushan
    @PYGaB[']@PYGaB[subtree]@PYGaB[']: @PYGZlb[] ET@PYGbe[.]Element(@PYGaB[']@PYGaB[child1]@PYGaB[']), @PYGaB[']@PYGaB[@textless[]child2@textgreater[]some text@textless[]/child2@textgreater[]]@PYGaB['] @PYGZrb[]
454 216bb34c Shikhar Bhushan
}
455 216bb34c Shikhar Bhushan
\end{Verbatim}
456 216bb34c Shikhar Bhushan
457 216bb34c Shikhar Bhushan
458 216bb34c Shikhar Bhushan
\subsection{Converting between different representations}
459 216bb34c Shikhar Bhushan
460 216bb34c Shikhar Bhushan
Conversions \emph{to} DictTree representation are guaranteed to be entirely dictionaries. In converting \emph{from} DictTree representation, the argument may be any valid representation as specified.
461 216bb34c Shikhar Bhushan
\index{dtree2ele() (in module ncclient.content)}
462 216bb34c Shikhar Bhushan
463 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.dtree2ele}{}\begin{funcdesc}{dtree2ele}{spec}
464 216bb34c Shikhar Bhushan
DictTree -\textgreater{} Element
465 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
466 216bb34c Shikhar Bhushan
\item[Return type]
467 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}}
468 216bb34c Shikhar Bhushan
469 216bb34c Shikhar Bhushan
\end{description}\end{quote}
470 216bb34c Shikhar Bhushan
\end{funcdesc}
471 216bb34c Shikhar Bhushan
\index{dtree2xml() (in module ncclient.content)}
472 216bb34c Shikhar Bhushan
473 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.dtree2xml}{}\begin{funcdesc}{dtree2xml}{spec, {[}encoding="UTF-8"{]}}
474 216bb34c Shikhar Bhushan
DictTree -\textgreater{} XML
475 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
476 216bb34c Shikhar Bhushan
\item[Parameter]
477 216bb34c Shikhar Bhushan
\emph{encoding} -- chraracter encoding
478 216bb34c Shikhar Bhushan
479 216bb34c Shikhar Bhushan
\item[Return type]
480 216bb34c Shikhar Bhushan
string
481 216bb34c Shikhar Bhushan
482 216bb34c Shikhar Bhushan
\end{description}\end{quote}
483 216bb34c Shikhar Bhushan
\end{funcdesc}
484 216bb34c Shikhar Bhushan
\index{ele2dtree() (in module ncclient.content)}
485 216bb34c Shikhar Bhushan
486 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.ele2dtree}{}\begin{funcdesc}{ele2dtree}{ele}
487 216bb34c Shikhar Bhushan
DictTree -\textgreater{} Element
488 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
489 216bb34c Shikhar Bhushan
\item[Return type]
490 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/stdtypes.html\#dict}{\code{dict}}
491 216bb34c Shikhar Bhushan
492 216bb34c Shikhar Bhushan
\end{description}\end{quote}
493 216bb34c Shikhar Bhushan
\end{funcdesc}
494 216bb34c Shikhar Bhushan
\index{ele2xml() (in module ncclient.content)}
495 216bb34c Shikhar Bhushan
496 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.ele2xml}{}\begin{funcdesc}{ele2xml}{ele}
497 216bb34c Shikhar Bhushan
Element -\textgreater{} XML
498 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
499 216bb34c Shikhar Bhushan
\item[Parameter]
500 216bb34c Shikhar Bhushan
\emph{encoding} -- character encoding
501 216bb34c Shikhar Bhushan
502 216bb34c Shikhar Bhushan
\item[Return type]
503 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/string.html\#string}{\code{string}}
504 216bb34c Shikhar Bhushan
505 216bb34c Shikhar Bhushan
\end{description}\end{quote}
506 216bb34c Shikhar Bhushan
\end{funcdesc}
507 216bb34c Shikhar Bhushan
\index{xml2dtree() (in module ncclient.content)}
508 216bb34c Shikhar Bhushan
509 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.xml2dtree}{}\begin{funcdesc}{xml2dtree}{xml}
510 216bb34c Shikhar Bhushan
XML -\textgreater{} DictTree
511 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
512 216bb34c Shikhar Bhushan
\item[Return type]
513 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/stdtypes.html\#dict}{\code{dict}}
514 216bb34c Shikhar Bhushan
515 216bb34c Shikhar Bhushan
\end{description}\end{quote}
516 216bb34c Shikhar Bhushan
\end{funcdesc}
517 216bb34c Shikhar Bhushan
\index{xml2ele() (in module ncclient.content)}
518 216bb34c Shikhar Bhushan
519 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.xml2ele}{}\begin{funcdesc}{xml2ele}{xml}
520 216bb34c Shikhar Bhushan
XML -\textgreater{} Element
521 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
522 216bb34c Shikhar Bhushan
\item[Return type]
523 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}}
524 216bb34c Shikhar Bhushan
525 216bb34c Shikhar Bhushan
\end{description}\end{quote}
526 216bb34c Shikhar Bhushan
\end{funcdesc}
527 216bb34c Shikhar Bhushan
528 216bb34c Shikhar Bhushan
529 216bb34c Shikhar Bhushan
\subsection{Other utility functions}
530 216bb34c Shikhar Bhushan
\index{iselement() (in module ncclient.content)}
531 216bb34c Shikhar Bhushan
532 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.iselement}{}\begin{funcdesc}{iselement}{obj}~\begin{quote}\begin{description}
533 216bb34c Shikhar Bhushan
\item[See]
534 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.iselement}{\code{xml.etree.ElementTree.iselement()}}
535 216bb34c Shikhar Bhushan
536 216bb34c Shikhar Bhushan
\end{description}\end{quote}
537 216bb34c Shikhar Bhushan
\end{funcdesc}
538 216bb34c Shikhar Bhushan
\index{find() (in module ncclient.content)}
539 216bb34c Shikhar Bhushan
540 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.find}{}\begin{funcdesc}{find}{ele, tag, {[}nslist=, {[}{]}{]}}
541 216bb34c Shikhar Bhushan
If \emph{nslist} is empty, same as \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element.find}{\code{xml.etree.ElementTree.Element.find()}}. If it is not, \emph{tag} is interpreted as an unqualified name and qualified using each item in \emph{nslist} (with a \href{http://docs.python.org/library/constants.html\#None}{\code{None}} item in \emph{nslit} meaning no qualification is done). The first match is returned.
542 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
543 216bb34c Shikhar Bhushan
\item[Parameter]
544 216bb34c Shikhar Bhushan
\emph{nslist} -- optional list of namespaces
545 216bb34c Shikhar Bhushan
546 216bb34c Shikhar Bhushan
\end{description}\end{quote}
547 216bb34c Shikhar Bhushan
\end{funcdesc}
548 216bb34c Shikhar Bhushan
\index{parse\_root() (in module ncclient.content)}
549 216bb34c Shikhar Bhushan
550 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.parse_root}{}\begin{funcdesc}{parse\_root}{raw}
551 216bb34c Shikhar Bhushan
Efficiently parses the root element of an XML document.
552 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
553 216bb34c Shikhar Bhushan
\item[Parameter]
554 216bb34c Shikhar Bhushan
\emph{raw} (string) -- XML document
555 216bb34c Shikhar Bhushan
556 216bb34c Shikhar Bhushan
\item[Returns]
557 216bb34c Shikhar Bhushan
a tuple of \code{(tag, attributes)}, where \code{tag} is the (qualified) name of the element and \code{attributes} is a dictionary of its attributes.
558 216bb34c Shikhar Bhushan
559 216bb34c Shikhar Bhushan
\item[Return type]
560 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/functions.html\#tuple}{\code{tuple}}
561 216bb34c Shikhar Bhushan
562 216bb34c Shikhar Bhushan
\end{description}\end{quote}
563 216bb34c Shikhar Bhushan
\end{funcdesc}
564 216bb34c Shikhar Bhushan
\index{validated\_element() (in module ncclient.content)}
565 216bb34c Shikhar Bhushan
566 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.validated_element}{}\begin{funcdesc}{validated\_element}{rep, tag=None, attrs=None, text=None}
567 216bb34c Shikhar Bhushan
Checks if the root element meets the supplied criteria. Returns a \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}} instance if so, otherwise raises \hyperlink{ncclient.content.ContentError}{\code{ContentError}}.
568 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
569 216bb34c Shikhar Bhushan
\item[Parameters]\begin{itemize}
570 216bb34c Shikhar Bhushan
\item {} 
571 216bb34c Shikhar Bhushan
\emph{tag} -- tag name or a list of allowable tag names
572 216bb34c Shikhar Bhushan
573 216bb34c Shikhar Bhushan
\item {} 
574 216bb34c Shikhar Bhushan
\emph{attrs} -- list of required attribute names, each item may be a list of allowable alternatives
575 216bb34c Shikhar Bhushan
576 216bb34c Shikhar Bhushan
\item {} 
577 216bb34c Shikhar Bhushan
\emph{text} -- textual content to match
578 216bb34c Shikhar Bhushan
579 216bb34c Shikhar Bhushan
\end{itemize}
580 216bb34c Shikhar Bhushan
581 216bb34c Shikhar Bhushan
\end{description}\end{quote}
582 216bb34c Shikhar Bhushan
\end{funcdesc}
583 216bb34c Shikhar Bhushan
584 216bb34c Shikhar Bhushan
585 216bb34c Shikhar Bhushan
\subsection{Errors}
586 216bb34c Shikhar Bhushan
\index{ContentError}
587 216bb34c Shikhar Bhushan
588 216bb34c Shikhar Bhushan
\hypertarget{ncclient.content.ContentError}{}\begin{excdesc}{ContentError}
589 216bb34c Shikhar Bhushan
Bases: \code{ncclient.NCClientError}
590 216bb34c Shikhar Bhushan
591 216bb34c Shikhar Bhushan
Raised by methods of the \code{content} module in case of an error.
592 216bb34c Shikhar Bhushan
\end{excdesc}
593 216bb34c Shikhar Bhushan
594 216bb34c Shikhar Bhushan
\resetcurrentobjects
595 216bb34c Shikhar Bhushan
\hypertarget{--doc-userdoc/transport}{}
596 216bb34c Shikhar Bhushan
597 216bb34c Shikhar Bhushan
\section{\texttt{transport} module}
598 216bb34c Shikhar Bhushan
\index{ncclient.transport (module)}
599 216bb34c Shikhar Bhushan
\hypertarget{module-ncclient.transport}{}
600 216bb34c Shikhar Bhushan
\declaremodule[ncclient.transport]{}{ncclient.transport}
601 216bb34c Shikhar Bhushan
\modulesynopsis{Transport protocol layer}
602 216bb34c Shikhar Bhushan
603 216bb34c Shikhar Bhushan
\subsection{Base types}
604 216bb34c Shikhar Bhushan
\index{Session (class in ncclient.transport)}
605 216bb34c Shikhar Bhushan
606 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.Session}{}\begin{classdesc}{Session}{capabilities}
607 216bb34c Shikhar Bhushan
Base class for use by transport protocol implementations.
608 216bb34c Shikhar Bhushan
\index{add\_listener() (ncclient.transport.Session method)}
609 216bb34c Shikhar Bhushan
610 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.Session.add_listener}{}\begin{methoddesc}{add\_listener}{listener}
611 216bb34c Shikhar Bhushan
Register a listener that will be notified of incoming messages and
612 216bb34c Shikhar Bhushan
errors.
613 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
614 216bb34c Shikhar Bhushan
\end{description}\end{quote}
615 216bb34c Shikhar Bhushan
\end{methoddesc}
616 216bb34c Shikhar Bhushan
\index{remove\_listener() (ncclient.transport.Session method)}
617 216bb34c Shikhar Bhushan
618 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.Session.remove_listener}{}\begin{methoddesc}{remove\_listener}{listener}
619 216bb34c Shikhar Bhushan
Unregister some listener; ignore if the listener was never
620 216bb34c Shikhar Bhushan
registered.
621 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
622 216bb34c Shikhar Bhushan
\end{description}\end{quote}
623 216bb34c Shikhar Bhushan
\end{methoddesc}
624 216bb34c Shikhar Bhushan
\index{get\_listener\_instance() (ncclient.transport.Session method)}
625 216bb34c Shikhar Bhushan
626 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.Session.get_listener_instance}{}\begin{methoddesc}{get\_listener\_instance}{cls}
627 216bb34c Shikhar Bhushan
If a listener of the specified type is registered, returns the
628 216bb34c Shikhar Bhushan
instance.
629 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
630 216bb34c Shikhar Bhushan
\end{description}\end{quote}
631 216bb34c Shikhar Bhushan
\end{methoddesc}
632 216bb34c Shikhar Bhushan
\index{client\_capabilities (ncclient.transport.Session attribute)}
633 216bb34c Shikhar Bhushan
634 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.Session.client_capabilities}{}\begin{memberdesc}{client\_capabilities}
635 216bb34c Shikhar Bhushan
Client's \code{Capabilities}
636 216bb34c Shikhar Bhushan
\end{memberdesc}
637 216bb34c Shikhar Bhushan
\index{server\_capabilities (ncclient.transport.Session attribute)}
638 216bb34c Shikhar Bhushan
639 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.Session.server_capabilities}{}\begin{memberdesc}{server\_capabilities}
640 216bb34c Shikhar Bhushan
Server's \code{Capabilities}
641 216bb34c Shikhar Bhushan
\end{memberdesc}
642 216bb34c Shikhar Bhushan
\index{connected (ncclient.transport.Session attribute)}
643 216bb34c Shikhar Bhushan
644 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.Session.connected}{}\begin{memberdesc}{connected}
645 216bb34c Shikhar Bhushan
Connection status of the session.
646 216bb34c Shikhar Bhushan
\end{memberdesc}
647 216bb34c Shikhar Bhushan
\index{id (ncclient.transport.Session attribute)}
648 216bb34c Shikhar Bhushan
649 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.Session.id}{}\begin{memberdesc}{id}
650 216bb34c Shikhar Bhushan
A \href{http://docs.python.org/library/string.html\#string}{\code{string}} representing the \code{session-id}. If the session has not
651 216bb34c Shikhar Bhushan
been initialized it will be \href{http://docs.python.org/library/constants.html\#None}{\code{None}}
652 216bb34c Shikhar Bhushan
\end{memberdesc}
653 216bb34c Shikhar Bhushan
\index{can\_pipeline (ncclient.transport.Session attribute)}
654 216bb34c Shikhar Bhushan
655 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.Session.can_pipeline}{}\begin{memberdesc}{can\_pipeline}
656 216bb34c Shikhar Bhushan
Whether this session supports pipelining
657 216bb34c Shikhar Bhushan
\end{memberdesc}
658 216bb34c Shikhar Bhushan
\end{classdesc}
659 216bb34c Shikhar Bhushan
\index{SessionListener (class in ncclient.transport)}
660 216bb34c Shikhar Bhushan
661 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SessionListener}{}\begin{classdesc}{SessionListener}{}
662 216bb34c Shikhar Bhushan
Base class for \hyperlink{ncclient.transport.Session}{\code{Session}} listeners, which are notified when a new
663 216bb34c Shikhar Bhushan
NETCONF message is received or an error occurs.
664 216bb34c Shikhar Bhushan
665 216bb34c Shikhar Bhushan
\begin{notice}{note}{Note:}
666 216bb34c Shikhar Bhushan
Avoid time-intensive tasks in a callback's context.
667 216bb34c Shikhar Bhushan
\end{notice}
668 216bb34c Shikhar Bhushan
\index{callback() (ncclient.transport.SessionListener method)}
669 216bb34c Shikhar Bhushan
670 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SessionListener.callback}{}\begin{methoddesc}{callback}{root, raw}
671 216bb34c Shikhar Bhushan
Called when a new XML document is received. The \code{root} argument
672 216bb34c Shikhar Bhushan
allows the callback to determine whether it wants to further process the
673 216bb34c Shikhar Bhushan
document.
674 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
675 216bb34c Shikhar Bhushan
\item[Parameters]\begin{itemize}
676 216bb34c Shikhar Bhushan
\item {} 
677 216bb34c Shikhar Bhushan
\emph{root} (\href{http://docs.python.org/library/functions.html\#tuple}{\code{tuple}}) -- is a tuple of \code{(tag, attributes)} where \code{tag} is the qualified name of the root element and \code{attributes} is a dictionary of its attributes (also qualified names)
678 216bb34c Shikhar Bhushan
679 216bb34c Shikhar Bhushan
\item {} 
680 216bb34c Shikhar Bhushan
\emph{raw} (\href{http://docs.python.org/library/string.html\#string}{\code{string}}) -- XML document
681 216bb34c Shikhar Bhushan
682 216bb34c Shikhar Bhushan
\end{itemize}
683 216bb34c Shikhar Bhushan
684 216bb34c Shikhar Bhushan
\end{description}\end{quote}
685 216bb34c Shikhar Bhushan
\end{methoddesc}
686 216bb34c Shikhar Bhushan
\index{errback() (ncclient.transport.SessionListener method)}
687 216bb34c Shikhar Bhushan
688 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SessionListener.errback}{}\begin{methoddesc}{errback}{ex}
689 216bb34c Shikhar Bhushan
Called when an error occurs.
690 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
691 216bb34c Shikhar Bhushan
\end{description}\end{quote}
692 216bb34c Shikhar Bhushan
\end{methoddesc}
693 216bb34c Shikhar Bhushan
\end{classdesc}
694 216bb34c Shikhar Bhushan
695 216bb34c Shikhar Bhushan
696 216bb34c Shikhar Bhushan
\subsection{SSH session implementation}
697 216bb34c Shikhar Bhushan
\index{default\_unknown\_host\_cb() (ncclient.transport.ssh static method)}
698 216bb34c Shikhar Bhushan
699 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.ssh.default_unknown_host_cb}{}\begin{staticmethoddesc}[ssh]{default\_unknown\_host\_cb}{host, key}
700 216bb34c Shikhar Bhushan
An \code{unknown host callback} returns \href{http://docs.python.org/library/constants.html\#True}{\code{True}} if it finds the key
701 216bb34c Shikhar Bhushan
acceptable, and \href{http://docs.python.org/library/constants.html\#False}{\code{False}} if not.
702 216bb34c Shikhar Bhushan
703 216bb34c Shikhar Bhushan
This default callback always returns \href{http://docs.python.org/library/constants.html\#False}{\code{False}}, which would lead to
704 216bb34c Shikhar Bhushan
\code{connect()} raising a \code{SSHUnknownHost} exception.
705 216bb34c Shikhar Bhushan
706 216bb34c Shikhar Bhushan
Supply another valid callback if you need to verify the host key
707 216bb34c Shikhar Bhushan
programatically.
708 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
709 216bb34c Shikhar Bhushan
\item[Parameters]\begin{itemize}
710 216bb34c Shikhar Bhushan
\item {} 
711 216bb34c Shikhar Bhushan
\emph{host} (string) -- the host for whom key needs to be verified
712 216bb34c Shikhar Bhushan
713 216bb34c Shikhar Bhushan
\item {} 
714 216bb34c Shikhar Bhushan
\emph{key} (string) -- a hex string representing the host key fingerprint
715 216bb34c Shikhar Bhushan
716 216bb34c Shikhar Bhushan
\end{itemize}
717 216bb34c Shikhar Bhushan
718 216bb34c Shikhar Bhushan
\end{description}\end{quote}
719 216bb34c Shikhar Bhushan
\end{staticmethoddesc}
720 216bb34c Shikhar Bhushan
\index{SSHSession (class in ncclient.transport)}
721 216bb34c Shikhar Bhushan
722 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SSHSession}{}\begin{classdesc}{SSHSession}{capabilities}
723 216bb34c Shikhar Bhushan
Bases: \code{ncclient.transport.session.Session}
724 216bb34c Shikhar Bhushan
725 216bb34c Shikhar Bhushan
Implements a \index{RFC!RFC 4742}\href{http://tools.ietf.org/html/rfc4742.html}{\textbf{RFC 4742}} NETCONF session over SSH.
726 216bb34c Shikhar Bhushan
\index{connect() (ncclient.transport.SSHSession method)}
727 216bb34c Shikhar Bhushan
728 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SSHSession.connect}{}\begin{methoddesc}{connect}{host, {[}port=830, timeout=None, username=None, password=None, key\_filename=None, allow\_agent=True, look\_for\_keys=True{]}}
729 216bb34c Shikhar Bhushan
Connect via SSH and initialize the NETCONF session. First attempts
730 216bb34c Shikhar Bhushan
the publickey authentication method and then password authentication.
731 216bb34c Shikhar Bhushan
732 216bb34c Shikhar Bhushan
To disable attemting publickey authentication altogether, call with
733 216bb34c Shikhar Bhushan
\emph{allow\_agent} and \emph{look\_for\_keys} as \href{http://docs.python.org/library/constants.html\#False}{\code{False}}. This may be needed
734 216bb34c Shikhar Bhushan
for Cisco devices which immediately disconnect on an incorrect
735 216bb34c Shikhar Bhushan
authentication attempt.
736 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
737 216bb34c Shikhar Bhushan
\item[Parameters]\begin{itemize}
738 216bb34c Shikhar Bhushan
\item {} 
739 216bb34c Shikhar Bhushan
\emph{host} (\href{http://docs.python.org/library/string.html\#string}{\code{string}}) -- the hostname or IP address to connect to
740 216bb34c Shikhar Bhushan
741 216bb34c Shikhar Bhushan
\item {} 
742 216bb34c Shikhar Bhushan
\emph{port} (\href{http://docs.python.org/library/functions.html\#int}{\code{int}}) -- by default 830, but some devices use the default SSH port of 22 so this may need to be specified
743 216bb34c Shikhar Bhushan
744 216bb34c Shikhar Bhushan
\item {} 
745 216bb34c Shikhar Bhushan
\emph{timeout} (\href{http://docs.python.org/library/functions.html\#int}{\code{int}}) -- an optional timeout for the TCP handshake
746 216bb34c Shikhar Bhushan
747 216bb34c Shikhar Bhushan
\item {} 
748 216bb34c Shikhar Bhushan
\emph{unknown\_host\_cb} (see \hyperlink{ncclient.transport.ssh.default_unknown_host_cb}{\code{signature}}) -- called when a host key is not recognized
749 216bb34c Shikhar Bhushan
750 216bb34c Shikhar Bhushan
\item {} 
751 216bb34c Shikhar Bhushan
\emph{username} (\href{http://docs.python.org/library/string.html\#string}{\code{string}}) -- the username to use for SSH authentication
752 216bb34c Shikhar Bhushan
753 216bb34c Shikhar Bhushan
\item {} 
754 216bb34c Shikhar Bhushan
\emph{password} (\href{http://docs.python.org/library/string.html\#string}{\code{string}}) -- the password used if using password authentication, or the passphrase to use for unlocking keys that require it
755 216bb34c Shikhar Bhushan
756 216bb34c Shikhar Bhushan
\item {} 
757 216bb34c Shikhar Bhushan
\emph{key\_filename} (\href{http://docs.python.org/library/string.html\#string}{\code{string}}) -- a filename where a the private key to be used can be found
758 216bb34c Shikhar Bhushan
759 216bb34c Shikhar Bhushan
\item {} 
760 216bb34c Shikhar Bhushan
\emph{allow\_agent} (\href{http://docs.python.org/library/functions.html\#bool}{\code{bool}}) -- enables querying SSH agent (if found) for keys
761 216bb34c Shikhar Bhushan
762 216bb34c Shikhar Bhushan
\item {} 
763 216bb34c Shikhar Bhushan
\emph{look\_for\_keys} (\href{http://docs.python.org/library/functions.html\#bool}{\code{bool}}) -- enables looking in the usual locations for ssh keys (e.g. \code{\textasciitilde{}/.ssh/id\_*})
764 216bb34c Shikhar Bhushan
765 216bb34c Shikhar Bhushan
\end{itemize}
766 216bb34c Shikhar Bhushan
767 216bb34c Shikhar Bhushan
\end{description}\end{quote}
768 216bb34c Shikhar Bhushan
\end{methoddesc}
769 216bb34c Shikhar Bhushan
\index{load\_known\_hosts() (ncclient.transport.SSHSession method)}
770 216bb34c Shikhar Bhushan
771 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SSHSession.load_known_hosts}{}\begin{methoddesc}{load\_known\_hosts}{filename=None}
772 216bb34c Shikhar Bhushan
Load host keys from a \code{known\_hosts}-style file. Can be called multiple
773 216bb34c Shikhar Bhushan
times.
774 216bb34c Shikhar Bhushan
775 216bb34c Shikhar Bhushan
If \emph{filename} is not specified, looks in the default locations i.e.
776 216bb34c Shikhar Bhushan
\code{\textasciitilde{}/.ssh/known\_hosts} and \code{\textasciitilde{}/ssh/known\_hosts} for Windows.
777 216bb34c Shikhar Bhushan
\end{methoddesc}
778 216bb34c Shikhar Bhushan
\index{transport (ncclient.transport.SSHSession attribute)}
779 216bb34c Shikhar Bhushan
780 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SSHSession.transport}{}\begin{memberdesc}{transport}
781 216bb34c Shikhar Bhushan
Underlying \href{http://www.lag.net/paramiko/docs/paramiko.Transport-class.html}{paramiko.Transport}
782 216bb34c Shikhar Bhushan
object. This makes it possible to call methods like set\_keepalive on it.
783 216bb34c Shikhar Bhushan
\end{memberdesc}
784 216bb34c Shikhar Bhushan
\end{classdesc}
785 216bb34c Shikhar Bhushan
786 216bb34c Shikhar Bhushan
787 216bb34c Shikhar Bhushan
\subsection{Errors}
788 216bb34c Shikhar Bhushan
\index{TransportError}
789 216bb34c Shikhar Bhushan
790 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.TransportError}{}\begin{excdesc}{TransportError}
791 216bb34c Shikhar Bhushan
Bases: \code{ncclient.NCClientError}
792 216bb34c Shikhar Bhushan
\end{excdesc}
793 216bb34c Shikhar Bhushan
\index{SessionCloseError}
794 216bb34c Shikhar Bhushan
795 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SessionCloseError}{}\begin{excdesc}{SessionCloseError}
796 216bb34c Shikhar Bhushan
Bases: \code{ncclient.transport.errors.TransportError}
797 216bb34c Shikhar Bhushan
\end{excdesc}
798 216bb34c Shikhar Bhushan
\index{SSHError}
799 216bb34c Shikhar Bhushan
800 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SSHError}{}\begin{excdesc}{SSHError}
801 216bb34c Shikhar Bhushan
Bases: \code{ncclient.transport.errors.TransportError}
802 216bb34c Shikhar Bhushan
\end{excdesc}
803 216bb34c Shikhar Bhushan
\index{AuthenticationError}
804 216bb34c Shikhar Bhushan
805 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.AuthenticationError}{}\begin{excdesc}{AuthenticationError}
806 216bb34c Shikhar Bhushan
Bases: \code{ncclient.transport.errors.TransportError}
807 216bb34c Shikhar Bhushan
\end{excdesc}
808 216bb34c Shikhar Bhushan
\index{SSHUnknownHostError}
809 216bb34c Shikhar Bhushan
810 216bb34c Shikhar Bhushan
\hypertarget{ncclient.transport.SSHUnknownHostError}{}\begin{excdesc}{SSHUnknownHostError}
811 216bb34c Shikhar Bhushan
Bases: \code{ncclient.transport.errors.SSHError}
812 216bb34c Shikhar Bhushan
\end{excdesc}
813 216bb34c Shikhar Bhushan
814 216bb34c Shikhar Bhushan
\resetcurrentobjects
815 216bb34c Shikhar Bhushan
\hypertarget{--doc-userdoc/operations}{}
816 216bb34c Shikhar Bhushan
817 216bb34c Shikhar Bhushan
\section{\texttt{operations} module}
818 216bb34c Shikhar Bhushan
\index{ncclient.operations (module)}
819 216bb34c Shikhar Bhushan
\hypertarget{module-ncclient.operations}{}
820 216bb34c Shikhar Bhushan
\declaremodule[ncclient.operations]{}{ncclient.operations}
821 216bb34c Shikhar Bhushan
\modulesynopsis{RPC and Operation layers}
822 216bb34c Shikhar Bhushan
823 216bb34c Shikhar Bhushan
\subsection{Base types}
824 216bb34c Shikhar Bhushan
\index{RPC (class in ncclient.operations.rpc)}
825 216bb34c Shikhar Bhushan
826 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC}{}\begin{classdesc}{RPC}{session, {[}async=False, timeout=None{]}}
827 216bb34c Shikhar Bhushan
Base class for all operations.
828 216bb34c Shikhar Bhushan
829 216bb34c Shikhar Bhushan
Directly corresponds to \emph{\textless{}rpc\textgreater{}} requests. Handles making the request, and
830 216bb34c Shikhar Bhushan
taking delivery of the reply.
831 216bb34c Shikhar Bhushan
\index{set\_async() (ncclient.operations.rpc.RPC method)}
832 216bb34c Shikhar Bhushan
833 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC.set_async}{}\begin{methoddesc}{set\_async}{async=True}
834 216bb34c Shikhar Bhushan
Set asynchronous mode for this RPC.
835 216bb34c Shikhar Bhushan
\end{methoddesc}
836 216bb34c Shikhar Bhushan
\index{set\_timeout() (ncclient.operations.rpc.RPC method)}
837 216bb34c Shikhar Bhushan
838 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC.set_timeout}{}\begin{methoddesc}{set\_timeout}{timeout}
839 216bb34c Shikhar Bhushan
Set the timeout for synchronous waiting defining how long the RPC
840 216bb34c Shikhar Bhushan
request will block on a reply before raising an error.
841 216bb34c Shikhar Bhushan
\end{methoddesc}
842 216bb34c Shikhar Bhushan
\index{reply (ncclient.operations.rpc.RPC attribute)}
843 216bb34c Shikhar Bhushan
844 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC.reply}{}\begin{memberdesc}{reply}
845 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.rpc.RPCReply}{\code{RPCReply}} element if reply has been received or \href{http://docs.python.org/library/constants.html\#None}{\code{None}}
846 216bb34c Shikhar Bhushan
\end{memberdesc}
847 216bb34c Shikhar Bhushan
\index{error (ncclient.operations.rpc.RPC attribute)}
848 216bb34c Shikhar Bhushan
849 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC.error}{}\begin{memberdesc}{error}
850 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/exceptions.html\#exceptions.Exception}{\code{Exception}} type if an error occured or \href{http://docs.python.org/library/constants.html\#None}{\code{None}}.
851 216bb34c Shikhar Bhushan
852 216bb34c Shikhar Bhushan
This attribute should be checked if the request was made asynchronously,
853 216bb34c Shikhar Bhushan
so that it can be determined if \hyperlink{ncclient.operations.rpc.RPC.event}{\code{event}} being set is because of a
854 216bb34c Shikhar Bhushan
reply or error.
855 216bb34c Shikhar Bhushan
856 216bb34c Shikhar Bhushan
\begin{notice}{note}{Note:}
857 216bb34c Shikhar Bhushan
This represents an error which prevented a reply from being
858 216bb34c Shikhar Bhushan
received. An \emph{\textless{}rpc-error\textgreater{}} does not fall in that category -- see
859 216bb34c Shikhar Bhushan
\hyperlink{ncclient.operations.rpc.RPCReply}{\code{RPCReply}} for that.
860 216bb34c Shikhar Bhushan
\end{notice}
861 216bb34c Shikhar Bhushan
\end{memberdesc}
862 216bb34c Shikhar Bhushan
\index{event (ncclient.operations.rpc.RPC attribute)}
863 216bb34c Shikhar Bhushan
864 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC.event}{}\begin{memberdesc}{event}
865 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/threading.html\#threading.Event}{\code{Event}} that is set when reply has been received or
866 216bb34c Shikhar Bhushan
error occured.
867 216bb34c Shikhar Bhushan
\end{memberdesc}
868 216bb34c Shikhar Bhushan
\index{async (ncclient.operations.rpc.RPC attribute)}
869 216bb34c Shikhar Bhushan
870 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC.async}{}\begin{memberdesc}{async}
871 216bb34c Shikhar Bhushan
Whether this RPC is asynchronous
872 216bb34c Shikhar Bhushan
\end{memberdesc}
873 216bb34c Shikhar Bhushan
\index{timeout (ncclient.operations.rpc.RPC attribute)}
874 216bb34c Shikhar Bhushan
875 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC.timeout}{}\begin{memberdesc}{timeout}
876 216bb34c Shikhar Bhushan
Timeout for synchronous waiting
877 216bb34c Shikhar Bhushan
\end{memberdesc}
878 216bb34c Shikhar Bhushan
\index{id (ncclient.operations.rpc.RPC attribute)}
879 216bb34c Shikhar Bhushan
880 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC.id}{}\begin{memberdesc}{id}
881 216bb34c Shikhar Bhushan
The \emph{message-id} for this RPC
882 216bb34c Shikhar Bhushan
\end{memberdesc}
883 216bb34c Shikhar Bhushan
\index{session (ncclient.operations.rpc.RPC attribute)}
884 216bb34c Shikhar Bhushan
885 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPC.session}{}\begin{memberdesc}{session}
886 216bb34c Shikhar Bhushan
The \hyperlink{ncclient.transport.Session}{\code{Session}} object associated with this
887 216bb34c Shikhar Bhushan
RPC
888 216bb34c Shikhar Bhushan
\end{memberdesc}
889 216bb34c Shikhar Bhushan
\end{classdesc}
890 216bb34c Shikhar Bhushan
\index{RPCReply (class in ncclient.operations.rpc)}
891 216bb34c Shikhar Bhushan
892 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCReply}{}\begin{classdesc}{RPCReply}{raw}
893 216bb34c Shikhar Bhushan
Represents an \emph{\textless{}rpc-reply\textgreater{}}. Only concerns itself with whether the
894 216bb34c Shikhar Bhushan
operation was successful.
895 216bb34c Shikhar Bhushan
896 216bb34c Shikhar Bhushan
\begin{notice}{note}{Note:}
897 216bb34c Shikhar Bhushan
If the reply has not yet been parsed there is an implicit, one-time
898 216bb34c Shikhar Bhushan
parsing overhead to accessing the attributes defined by this class and
899 216bb34c Shikhar Bhushan
any subclasses.
900 216bb34c Shikhar Bhushan
\end{notice}
901 216bb34c Shikhar Bhushan
\index{ok (ncclient.operations.rpc.RPCReply attribute)}
902 216bb34c Shikhar Bhushan
903 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCReply.ok}{}\begin{memberdesc}{ok}
904 216bb34c Shikhar Bhushan
Boolean value indicating if there were no errors.
905 216bb34c Shikhar Bhushan
\end{memberdesc}
906 216bb34c Shikhar Bhushan
\index{error (ncclient.operations.rpc.RPCReply attribute)}
907 216bb34c Shikhar Bhushan
908 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCReply.error}{}\begin{memberdesc}{error}
909 216bb34c Shikhar Bhushan
Short for \hyperlink{ncclient.operations.rpc.RPCReply.errors}{\code{errors}} {[}0{]}; \href{http://docs.python.org/library/constants.html\#None}{\code{None}} if there were no errors.
910 216bb34c Shikhar Bhushan
\end{memberdesc}
911 216bb34c Shikhar Bhushan
\index{errors (ncclient.operations.rpc.RPCReply attribute)}
912 216bb34c Shikhar Bhushan
913 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCReply.errors}{}\begin{memberdesc}{errors}
914 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/functions.html\#list}{\code{list}} of \hyperlink{ncclient.operations.rpc.RPCError}{\code{RPCError}} objects. Will be empty if there were no
915 216bb34c Shikhar Bhushan
\emph{\textless{}rpc-error\textgreater{}} elements in reply.
916 216bb34c Shikhar Bhushan
\end{memberdesc}
917 216bb34c Shikhar Bhushan
\end{classdesc}
918 216bb34c Shikhar Bhushan
\index{RPCError (class in ncclient.operations.rpc)}
919 216bb34c Shikhar Bhushan
920 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCError}{}\begin{classdesc}{RPCError}{err\_dict}
921 216bb34c Shikhar Bhushan
Bases: \code{ncclient.operations.errors.OperationError}
922 216bb34c Shikhar Bhushan
923 216bb34c Shikhar Bhushan
Represents an \emph{\textless{}rpc-error\textgreater{}}. It is an instance of \code{OperationError}
924 216bb34c Shikhar Bhushan
so it can be raised like any other exception.
925 216bb34c Shikhar Bhushan
\index{type (ncclient.operations.rpc.RPCError attribute)}
926 216bb34c Shikhar Bhushan
927 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCError.type}{}\begin{memberdesc}{type}
928 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/string.html\#string}{\code{string}} represeting \emph{error-type} element
929 216bb34c Shikhar Bhushan
\end{memberdesc}
930 216bb34c Shikhar Bhushan
\index{severity (ncclient.operations.rpc.RPCError attribute)}
931 216bb34c Shikhar Bhushan
932 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCError.severity}{}\begin{memberdesc}{severity}
933 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/string.html\#string}{\code{string}} represeting \emph{error-severity} element
934 216bb34c Shikhar Bhushan
\end{memberdesc}
935 216bb34c Shikhar Bhushan
\index{tag (ncclient.operations.rpc.RPCError attribute)}
936 216bb34c Shikhar Bhushan
937 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCError.tag}{}\begin{memberdesc}{tag}
938 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/string.html\#string}{\code{string}} represeting \emph{error-tag} element
939 216bb34c Shikhar Bhushan
\end{memberdesc}
940 216bb34c Shikhar Bhushan
\index{path (ncclient.operations.rpc.RPCError attribute)}
941 216bb34c Shikhar Bhushan
942 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCError.path}{}\begin{memberdesc}{path}
943 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/string.html\#string}{\code{string}} or \href{http://docs.python.org/library/constants.html\#None}{\code{None}}; represeting \emph{error-path} element
944 216bb34c Shikhar Bhushan
\end{memberdesc}
945 216bb34c Shikhar Bhushan
\index{message (ncclient.operations.rpc.RPCError attribute)}
946 216bb34c Shikhar Bhushan
947 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCError.message}{}\begin{memberdesc}{message}
948 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/string.html\#string}{\code{string}} or \href{http://docs.python.org/library/constants.html\#None}{\code{None}}; represeting \emph{error-message} element
949 216bb34c Shikhar Bhushan
\end{memberdesc}
950 216bb34c Shikhar Bhushan
\index{info (ncclient.operations.rpc.RPCError attribute)}
951 216bb34c Shikhar Bhushan
952 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.rpc.RPCError.info}{}\begin{memberdesc}{info}
953 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/string.html\#string}{\code{string}} or \href{http://docs.python.org/library/constants.html\#None}{\code{None}}, represeting \emph{error-info} element
954 216bb34c Shikhar Bhushan
\end{memberdesc}
955 216bb34c Shikhar Bhushan
\end{classdesc}
956 216bb34c Shikhar Bhushan
957 216bb34c Shikhar Bhushan
958 216bb34c Shikhar Bhushan
\subsection{NETCONF Operations}
959 216bb34c Shikhar Bhushan
960 216bb34c Shikhar Bhushan
961 216bb34c Shikhar Bhushan
\subsubsection{Dependencies}
962 216bb34c Shikhar Bhushan
963 216bb34c Shikhar Bhushan
Operations may have a hard dependency on some capability, or the dependency may arise at request-time due to an optional argument. In any case, a \hyperlink{ncclient.operations.MissingCapabilityError}{\code{MissingCapabilityError}} is raised if the server does not support the relevant capability.
964 216bb34c Shikhar Bhushan
\hypertarget{return}{}
965 216bb34c Shikhar Bhushan
966 216bb34c Shikhar Bhushan
\subsubsection{Return type}
967 216bb34c Shikhar Bhushan
968 216bb34c Shikhar Bhushan
The return type for the \code{request()} method depends of an operation on whether it is synchronous or asynchronous (see base class \code{RPC}).
969 216bb34c Shikhar Bhushan
\begin{itemize}
970 216bb34c Shikhar Bhushan
\item {} 
971 216bb34c Shikhar Bhushan
For synchronous requests, it will block waiting for the reply, and once it has been received an \code{RPCReply} object is returned. If an error occured while waiting for the reply, it will be raised.
972 216bb34c Shikhar Bhushan
973 216bb34c Shikhar Bhushan
\item {} 
974 216bb34c Shikhar Bhushan
For asynchronous requests, it will immediately return an \href{http://docs.python.org/library/threading.html\#threading.Event}{\code{Event}} object. This event is set when a reply is received, or an error occurs that prevents a reply from being received. The \code{reply} and \code{error} attributes can then be accessed to determine which of the two it was :-)
975 216bb34c Shikhar Bhushan
976 216bb34c Shikhar Bhushan
\end{itemize}
977 216bb34c Shikhar Bhushan
978 216bb34c Shikhar Bhushan
979 216bb34c Shikhar Bhushan
\subsubsection{General notes on parameters}
980 216bb34c Shikhar Bhushan
981 216bb34c Shikhar Bhushan
982 216bb34c Shikhar Bhushan
\hypertarget{source-target}{}\paragraph{Source / target parameters}
983 216bb34c Shikhar Bhushan
984 216bb34c Shikhar Bhushan
Where an operation takes a source or target parameter, it is mainly the case that it can be a datastore name or a URL. The latter, of course, depends on the \emph{:url} capability and whether the capability supports the specific schema of the URL. Either must be specified as a \href{http://docs.python.org/library/string.html\#string}{\code{string}}.
985 216bb34c Shikhar Bhushan
986 216bb34c Shikhar Bhushan
If the source may be a \emph{\textless{}config\textgreater{}} element, e.g. for \hyperlink{ncclient.operations.Validate}{\code{Validate}}, specify in \hyperlink{dtree}{\emph{DictTree XML representation}} with the root element as \emph{\textless{}config\textgreater{}}.
987 216bb34c Shikhar Bhushan
\hypertarget{filter}{}
988 216bb34c Shikhar Bhushan
989 216bb34c Shikhar Bhushan
\paragraph{Filter parameters}
990 216bb34c Shikhar Bhushan
991 216bb34c Shikhar Bhushan
Filter parameters, where applicable, can take one of the following types:
992 216bb34c Shikhar Bhushan
\begin{itemize}
993 216bb34c Shikhar Bhushan
\item {} \begin{description}
994 216bb34c Shikhar Bhushan
\item[A \href{http://docs.python.org/library/functions.html\#tuple}{\code{tuple}} of \emph{(type, criteria)}.]
995 216bb34c Shikhar Bhushan
Here type has to be one of ``xpath'' or ``subtree''. For type ``xpath'', the criteria should be a \href{http://docs.python.org/library/string.html\#string}{\code{string}} that is a valid XPath expression. For type ``subtree'', criteria should be in \hyperlink{dtree}{\emph{DictTree XML representation}} representing a valid subtree filter.
996 216bb34c Shikhar Bhushan
997 216bb34c Shikhar Bhushan
\end{description}
998 216bb34c Shikhar Bhushan
999 216bb34c Shikhar Bhushan
\item {} 
1000 216bb34c Shikhar Bhushan
A valid \emph{\textless{}filter\textgreater{}} element in \hyperlink{dtree}{\emph{DictTree XML representation}}.
1001 216bb34c Shikhar Bhushan
1002 216bb34c Shikhar Bhushan
\end{itemize}
1003 216bb34c Shikhar Bhushan
1004 216bb34c Shikhar Bhushan
1005 216bb34c Shikhar Bhushan
\subsubsection{Retrieval operations}
1006 216bb34c Shikhar Bhushan
1007 216bb34c Shikhar Bhushan
The reply object for these operations will be a \hyperlink{ncclient.operations.GetReply}{\code{GetReply}} instance.
1008 216bb34c Shikhar Bhushan
\index{Get (class in ncclient.operations)}
1009 216bb34c Shikhar Bhushan
1010 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Get}{}\begin{classdesc}{Get}{session, async=False, timeout=None}
1011 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1012 216bb34c Shikhar Bhushan
1013 216bb34c Shikhar Bhushan
The \emph{\textless{}get\textgreater{}} RPC
1014 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.Get method)}
1015 216bb34c Shikhar Bhushan
1016 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Get.request}{}\begin{methoddesc}{request}{filter=None}~\begin{quote}\begin{description}
1017 216bb34c Shikhar Bhushan
\item[Parameter]
1018 216bb34c Shikhar Bhushan
\emph{filter} -- optional; see \hyperlink{filter}{\emph{Filter parameters}}
1019 216bb34c Shikhar Bhushan
1020 216bb34c Shikhar Bhushan
\item[Seealso]
1021 216bb34c Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1022 216bb34c Shikhar Bhushan
1023 216bb34c Shikhar Bhushan
\end{description}\end{quote}
1024 216bb34c Shikhar Bhushan
\end{methoddesc}
1025 216bb34c Shikhar Bhushan
\end{classdesc}
1026 216bb34c Shikhar Bhushan
\index{GetConfig (class in ncclient.operations)}
1027 216bb34c Shikhar Bhushan
1028 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.GetConfig}{}\begin{classdesc}{GetConfig}{session, async=False, timeout=None}
1029 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1030 216bb34c Shikhar Bhushan
1031 216bb34c Shikhar Bhushan
The \emph{\textless{}get-config\textgreater{}} RPC
1032 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.GetConfig method)}
1033 216bb34c Shikhar Bhushan
1034 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.GetConfig.request}{}\begin{methoddesc}{request}{source, filter=None}~\begin{quote}\begin{description}
1035 216bb34c Shikhar Bhushan
\item[Parameters]\begin{itemize}
1036 216bb34c Shikhar Bhushan
\item {} 
1037 216bb34c Shikhar Bhushan
\emph{source} -- See \hyperlink{source-target}{\emph{Source / target parameters}}
1038 216bb34c Shikhar Bhushan
1039 216bb34c Shikhar Bhushan
\item {} 
1040 216bb34c Shikhar Bhushan
\emph{filter} -- optional; see \hyperlink{filter}{\emph{Filter parameters}}
1041 216bb34c Shikhar Bhushan
1042 216bb34c Shikhar Bhushan
\end{itemize}
1043 216bb34c Shikhar Bhushan
1044 216bb34c Shikhar Bhushan
\item[Seealso]
1045 216bb34c Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1046 216bb34c Shikhar Bhushan
1047 216bb34c Shikhar Bhushan
\end{description}\end{quote}
1048 216bb34c Shikhar Bhushan
\end{methoddesc}
1049 216bb34c Shikhar Bhushan
\end{classdesc}
1050 216bb34c Shikhar Bhushan
\index{GetReply (class in ncclient.operations)}
1051 216bb34c Shikhar Bhushan
1052 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.GetReply}{}\begin{classdesc}{GetReply}{raw}
1053 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPCReply}{\code{ncclient.operations.rpc.RPCReply}}
1054 216bb34c Shikhar Bhushan
1055 216bb34c Shikhar Bhushan
Adds attributes for the \emph{\textless{}data\textgreater{}} element to \code{RPCReply}, which
1056 216bb34c Shikhar Bhushan
pertains to the \hyperlink{ncclient.operations.Get}{\code{Get}} and \hyperlink{ncclient.operations.GetConfig}{\code{GetConfig}} operations.
1057 216bb34c Shikhar Bhushan
\index{data (ncclient.operations.GetReply attribute)}
1058 216bb34c Shikhar Bhushan
1059 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.GetReply.data}{}\begin{memberdesc}{data}
1060 216bb34c Shikhar Bhushan
Same as \hyperlink{ncclient.operations.GetReply.data_ele}{\code{data\_ele}}
1061 216bb34c Shikhar Bhushan
\end{memberdesc}
1062 216bb34c Shikhar Bhushan
\index{data\_xml (ncclient.operations.GetReply attribute)}
1063 216bb34c Shikhar Bhushan
1064 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.GetReply.data_xml}{}\begin{memberdesc}{data\_xml}
1065 216bb34c Shikhar Bhushan
\emph{\textless{}data\textgreater{}} element as an XML string
1066 216bb34c Shikhar Bhushan
\end{memberdesc}
1067 216bb34c Shikhar Bhushan
\index{data\_dtree (ncclient.operations.GetReply attribute)}
1068 216bb34c Shikhar Bhushan
1069 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.GetReply.data_dtree}{}\begin{memberdesc}{data\_dtree}
1070 216bb34c Shikhar Bhushan
\emph{\textless{}data\textgreater{}} element in \hyperlink{dtree}{\emph{DictTree XML representation}}
1071 216bb34c Shikhar Bhushan
\end{memberdesc}
1072 216bb34c Shikhar Bhushan
\index{data\_ele (ncclient.operations.GetReply attribute)}
1073 216bb34c Shikhar Bhushan
1074 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.GetReply.data_ele}{}\begin{memberdesc}{data\_ele}
1075 216bb34c Shikhar Bhushan
\emph{\textless{}data\textgreater{}} element as an \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}}
1076 216bb34c Shikhar Bhushan
\end{memberdesc}
1077 216bb34c Shikhar Bhushan
\end{classdesc}
1078 216bb34c Shikhar Bhushan
1079 216bb34c Shikhar Bhushan
1080 216bb34c Shikhar Bhushan
\subsubsection{Locking operations}
1081 216bb34c Shikhar Bhushan
\index{Lock (class in ncclient.operations)}
1082 216bb34c Shikhar Bhushan
1083 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Lock}{}\begin{classdesc}{Lock}{session, async=False, timeout=None}
1084 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1085 216bb34c Shikhar Bhushan
1086 216bb34c Shikhar Bhushan
\emph{\textless{}lock\textgreater{}} RPC
1087 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.Lock method)}
1088 216bb34c Shikhar Bhushan
1089 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Lock.request}{}\begin{methoddesc}{request}{target}~\begin{quote}\begin{description}
1090 216bb34c Shikhar Bhushan
\item[Parameter]
1091 216bb34c Shikhar Bhushan
\emph{target} (string) -- see \hyperlink{source-target}{\emph{Source / target parameters}}
1092 216bb34c Shikhar Bhushan
1093 216bb34c Shikhar Bhushan
\item[Return type]
1094 216bb34c Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1095 216bb34c Shikhar Bhushan
1096 216bb34c Shikhar Bhushan
\end{description}\end{quote}
1097 216bb34c Shikhar Bhushan
\end{methoddesc}
1098 216bb34c Shikhar Bhushan
\end{classdesc}
1099 216bb34c Shikhar Bhushan
\index{Unlock (class in ncclient.operations)}
1100 216bb34c Shikhar Bhushan
1101 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Unlock}{}\begin{classdesc}{Unlock}{session, async=False, timeout=None}
1102 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1103 216bb34c Shikhar Bhushan
1104 216bb34c Shikhar Bhushan
\emph{\textless{}unlock\textgreater{}} RPC
1105 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.Unlock method)}
1106 216bb34c Shikhar Bhushan
1107 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Unlock.request}{}\begin{methoddesc}{request}{target}~\begin{quote}\begin{description}
1108 216bb34c Shikhar Bhushan
\item[Parameter]
1109 216bb34c Shikhar Bhushan
\emph{target} (string) -- see \hyperlink{source-target}{\emph{Source / target parameters}}
1110 216bb34c Shikhar Bhushan
1111 216bb34c Shikhar Bhushan
\item[Return type]
1112 216bb34c Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1113 216bb34c Shikhar Bhushan
1114 216bb34c Shikhar Bhushan
\end{description}\end{quote}
1115 216bb34c Shikhar Bhushan
\end{methoddesc}
1116 216bb34c Shikhar Bhushan
\end{classdesc}
1117 216bb34c Shikhar Bhushan
1118 216bb34c Shikhar Bhushan
1119 216bb34c Shikhar Bhushan
\subsubsection{Configuration operations}
1120 216bb34c Shikhar Bhushan
\index{EditConfig (class in ncclient.operations)}
1121 216bb34c Shikhar Bhushan
1122 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.EditConfig}{}\begin{classdesc}{EditConfig}{session, async=False, timeout=None}
1123 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1124 216bb34c Shikhar Bhushan
1125 216bb34c Shikhar Bhushan
\emph{\textless{}edit-config\textgreater{}} RPC
1126 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.EditConfig method)}
1127 216bb34c Shikhar Bhushan
1128 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.EditConfig.request}{}\begin{methoddesc}{request}{target, config, default\_operation=None, test\_option=None, error\_option=None}~\begin{quote}\begin{description}
1129 216bb34c Shikhar Bhushan
\item[Parameters]\begin{itemize}
1130 216bb34c Shikhar Bhushan
\item {} 
1131 216bb34c Shikhar Bhushan
\emph{target} (string) -- see \hyperlink{source-target}{\emph{Source / target parameters}}
1132 216bb34c Shikhar Bhushan
1133 216bb34c Shikhar Bhushan
\item {} 
1134 216bb34c Shikhar Bhushan
\emph{config} (\href{http://docs.python.org/library/string.html\#string}{\code{string}} or \href{http://docs.python.org/library/stdtypes.html\#dict}{\code{dict}} or \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}}) -- a config element in \hyperlink{dtree}{\emph{DictTree XML representation}}
1135 216bb34c Shikhar Bhushan
1136 216bb34c Shikhar Bhushan
\item {} 
1137 216bb34c Shikhar Bhushan
\emph{default\_operation} (\href{http://docs.python.org/library/string.html\#string}{\code{string}}) -- optional; one of \{`merge', `replace', `none'\}
1138 216bb34c Shikhar Bhushan
1139 216bb34c Shikhar Bhushan
\item {} 
1140 216bb34c Shikhar Bhushan
\emph{test\_option} (string) -- optional; one of \{`stop-on-error', `continue-on-error', `rollback-on-error'\}. Last option depends on the \emph{:rollback-on-error} capability
1141 216bb34c Shikhar Bhushan
1142 216bb34c Shikhar Bhushan
\end{itemize}
1143 216bb34c Shikhar Bhushan
1144 216bb34c Shikhar Bhushan
\item[Seealso]
1145 216bb34c Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1146 216bb34c Shikhar Bhushan
1147 216bb34c Shikhar Bhushan
\end{description}\end{quote}
1148 216bb34c Shikhar Bhushan
\end{methoddesc}
1149 216bb34c Shikhar Bhushan
\end{classdesc}
1150 216bb34c Shikhar Bhushan
\index{CopyConfig (class in ncclient.operations)}
1151 216bb34c Shikhar Bhushan
1152 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.CopyConfig}{}\begin{classdesc}{CopyConfig}{session, async=False, timeout=None}
1153 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1154 216bb34c Shikhar Bhushan
1155 216bb34c Shikhar Bhushan
\emph{\textless{}copy-config\textgreater{}} RPC
1156 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.CopyConfig method)}
1157 216bb34c Shikhar Bhushan
1158 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.CopyConfig.request}{}\begin{methoddesc}{request}{source, target}~\begin{quote}\begin{description}
1159 216bb34c Shikhar Bhushan
\item[Parameters]\begin{itemize}
1160 216bb34c Shikhar Bhushan
\item {} 
1161 216bb34c Shikhar Bhushan
\emph{source} (\href{http://docs.python.org/library/string.html\#string}{\code{string}} or \href{http://docs.python.org/library/stdtypes.html\#dict}{\code{dict}} or \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}}) -- See \hyperlink{source-target}{\emph{Source / target parameters}}
1162 216bb34c Shikhar Bhushan
1163 216bb34c Shikhar Bhushan
\item {} 
1164 216bb34c Shikhar Bhushan
\emph{target} (\href{http://docs.python.org/library/string.html\#string}{\code{string}} or \href{http://docs.python.org/library/stdtypes.html\#dict}{\code{dict}} or \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}}) -- See \hyperlink{source-target}{\emph{Source / target parameters}}
1165 216bb34c Shikhar Bhushan
1166 216bb34c Shikhar Bhushan
\end{itemize}
1167 216bb34c Shikhar Bhushan
1168 216bb34c Shikhar Bhushan
\item[Seealso]
1169 216bb34c Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1170 216bb34c Shikhar Bhushan
1171 216bb34c Shikhar Bhushan
\end{description}\end{quote}
1172 216bb34c Shikhar Bhushan
\end{methoddesc}
1173 216bb34c Shikhar Bhushan
\end{classdesc}
1174 216bb34c Shikhar Bhushan
\index{DeleteConfig (class in ncclient.operations)}
1175 216bb34c Shikhar Bhushan
1176 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.DeleteConfig}{}\begin{classdesc}{DeleteConfig}{session, async=False, timeout=None}
1177 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1178 216bb34c Shikhar Bhushan
1179 216bb34c Shikhar Bhushan
\emph{\textless{}delete-config\textgreater{}} RPC
1180 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.DeleteConfig method)}
1181 216bb34c Shikhar Bhushan
1182 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.DeleteConfig.request}{}\begin{methoddesc}{request}{target}~\begin{quote}\begin{description}
1183 216bb34c Shikhar Bhushan
\item[Parameter]
1184 216bb34c Shikhar Bhushan
\emph{target} (\href{http://docs.python.org/library/string.html\#string}{\code{string}} or \href{http://docs.python.org/library/stdtypes.html\#dict}{\code{dict}} or \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}}) -- See \hyperlink{source-target}{\emph{Source / target parameters}}
1185 216bb34c Shikhar Bhushan
1186 216bb34c Shikhar Bhushan
\item[Seealso]
1187 216bb34c Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1188 216bb34c Shikhar Bhushan
1189 216bb34c Shikhar Bhushan
\end{description}\end{quote}
1190 216bb34c Shikhar Bhushan
\end{methoddesc}
1191 216bb34c Shikhar Bhushan
\end{classdesc}
1192 216bb34c Shikhar Bhushan
\index{Validate (class in ncclient.operations)}
1193 216bb34c Shikhar Bhushan
1194 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Validate}{}\begin{classdesc}{Validate}{session, async=False, timeout=None}
1195 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1196 216bb34c Shikhar Bhushan
1197 216bb34c Shikhar Bhushan
\emph{\textless{}validate\textgreater{}} RPC. Depends on the \emph{:validate} capability.
1198 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.Validate method)}
1199 216bb34c Shikhar Bhushan
1200 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Validate.request}{}\begin{methoddesc}{request}{source}~\begin{quote}\begin{description}
1201 216bb34c Shikhar Bhushan
\item[Parameter]
1202 216bb34c Shikhar Bhushan
\emph{source} (\href{http://docs.python.org/library/string.html\#string}{\code{string}} or \href{http://docs.python.org/library/stdtypes.html\#dict}{\code{dict}} or \href{http://docs.python.org/library/xml.etree.elementtree.html\#xml.etree.ElementTree.Element}{\code{Element}}) -- See \hyperlink{source-target}{\emph{Source / target parameters}}
1203 216bb34c Shikhar Bhushan
1204 216bb34c Shikhar Bhushan
\item[Seealso]
1205 216bb34c Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1206 216bb34c Shikhar Bhushan
1207 216bb34c Shikhar Bhushan
\end{description}\end{quote}
1208 216bb34c Shikhar Bhushan
\end{methoddesc}
1209 216bb34c Shikhar Bhushan
\end{classdesc}
1210 216bb34c Shikhar Bhushan
\index{Commit (class in ncclient.operations)}
1211 216bb34c Shikhar Bhushan
1212 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Commit}{}\begin{classdesc}{Commit}{session, async=False, timeout=None}
1213 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1214 216bb34c Shikhar Bhushan
1215 216bb34c Shikhar Bhushan
\emph{\textless{}commit\textgreater{}} RPC. Depends on the \emph{:candidate} capability.
1216 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.Commit method)}
1217 216bb34c Shikhar Bhushan
1218 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.Commit.request}{}\begin{methoddesc}{request}{confirmed=False, timeout=None}
1219 216bb34c Shikhar Bhushan
Requires \emph{:confirmed-commit} capability if \emph{confirmed} argument is
1220 216bb34c Shikhar Bhushan
\href{http://docs.python.org/library/constants.html\#True}{\code{True}}.
1221 216bb34c Shikhar Bhushan
\begin{quote}\begin{description}
1222 216bb34c Shikhar Bhushan
\item[Parameters]\begin{itemize}
1223 216bb34c Shikhar Bhushan
\item {} 
1224 216bb34c Shikhar Bhushan
\emph{confirmed} (\href{http://docs.python.org/library/functions.html\#bool}{\code{bool}}) -- optional; request a confirmed commit
1225 216bb34c Shikhar Bhushan
1226 216bb34c Shikhar Bhushan
\item {} 
1227 216bb34c Shikhar Bhushan
\emph{timeout} (\href{http://docs.python.org/library/functions.html\#int}{\code{int}}) -- specify timeout for confirmed commit
1228 216bb34c Shikhar Bhushan
1229 216bb34c Shikhar Bhushan
\end{itemize}
1230 216bb34c Shikhar Bhushan
1231 216bb34c Shikhar Bhushan
\item[Seealso]
1232 216bb34c Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1233 216bb34c Shikhar Bhushan
1234 216bb34c Shikhar Bhushan
\end{description}\end{quote}
1235 216bb34c Shikhar Bhushan
\end{methoddesc}
1236 216bb34c Shikhar Bhushan
\end{classdesc}
1237 216bb34c Shikhar Bhushan
\index{DiscardChanges (class in ncclient.operations)}
1238 216bb34c Shikhar Bhushan
1239 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.DiscardChanges}{}\begin{classdesc}{DiscardChanges}{session, async=False, timeout=None}
1240 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1241 216bb34c Shikhar Bhushan
1242 216bb34c Shikhar Bhushan
\emph{\textless{}discard-changes\textgreater{}} RPC. Depends on the \emph{:candidate} capability.
1243 216bb34c Shikhar Bhushan
\index{request() (ncclient.operations.DiscardChanges method)}
1244 216bb34c Shikhar Bhushan
1245 0b7d3b31 Shikhar Bhushan
\hypertarget{ncclient.operations.DiscardChanges.request}{}\begin{methoddesc}{request}{}~\begin{quote}\begin{description}
1246 0b7d3b31 Shikhar Bhushan
\item[Seealso]
1247 0b7d3b31 Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1248 0b7d3b31 Shikhar Bhushan
1249 0b7d3b31 Shikhar Bhushan
\end{description}\end{quote}
1250 216bb34c Shikhar Bhushan
\end{methoddesc}
1251 216bb34c Shikhar Bhushan
\end{classdesc}
1252 216bb34c Shikhar Bhushan
1253 216bb34c Shikhar Bhushan
1254 216bb34c Shikhar Bhushan
\subsubsection{Session management operations}
1255 216bb34c Shikhar Bhushan
\index{CloseSession (class in ncclient.operations)}
1256 216bb34c Shikhar Bhushan
1257 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.CloseSession}{}\begin{classdesc}{CloseSession}{session, async=False, timeout=None}
1258 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1259 216bb34c Shikhar Bhushan
1260 216bb34c Shikhar Bhushan
\emph{\textless{}close-session\textgreater{}} RPC. The connection to NETCONF server is also closed.
1261 0b7d3b31 Shikhar Bhushan
\index{request() (ncclient.operations.CloseSession method)}
1262 0b7d3b31 Shikhar Bhushan
1263 0b7d3b31 Shikhar Bhushan
\hypertarget{ncclient.operations.CloseSession.request}{}\begin{methoddesc}{request}{}~\begin{quote}\begin{description}
1264 0b7d3b31 Shikhar Bhushan
\item[Seealso]
1265 0b7d3b31 Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1266 0b7d3b31 Shikhar Bhushan
1267 0b7d3b31 Shikhar Bhushan
\end{description}\end{quote}
1268 0b7d3b31 Shikhar Bhushan
\end{methoddesc}
1269 216bb34c Shikhar Bhushan
\end{classdesc}
1270 216bb34c Shikhar Bhushan
\index{KillSession (class in ncclient.operations)}
1271 216bb34c Shikhar Bhushan
1272 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.KillSession}{}\begin{classdesc}{KillSession}{session, async=False, timeout=None}
1273 216bb34c Shikhar Bhushan
Bases: \hyperlink{ncclient.operations.rpc.RPC}{\code{ncclient.operations.rpc.RPC}}
1274 216bb34c Shikhar Bhushan
1275 216bb34c Shikhar Bhushan
\emph{\textless{}kill-session\textgreater{}} RPC.
1276 0b7d3b31 Shikhar Bhushan
\index{request() (ncclient.operations.KillSession method)}
1277 0b7d3b31 Shikhar Bhushan
1278 0b7d3b31 Shikhar Bhushan
\hypertarget{ncclient.operations.KillSession.request}{}\begin{methoddesc}{request}{session\_id}~\begin{quote}\begin{description}
1279 0b7d3b31 Shikhar Bhushan
\item[Parameter]
1280 0b7d3b31 Shikhar Bhushan
\emph{session\_id} (\href{http://docs.python.org/library/string.html\#string}{\code{string}}) -- \emph{session-id} of NETCONF session to kill
1281 0b7d3b31 Shikhar Bhushan
1282 0b7d3b31 Shikhar Bhushan
\item[Seealso]
1283 0b7d3b31 Shikhar Bhushan
\hyperlink{return}{\emph{Return type}}
1284 0b7d3b31 Shikhar Bhushan
1285 0b7d3b31 Shikhar Bhushan
\end{description}\end{quote}
1286 0b7d3b31 Shikhar Bhushan
\end{methoddesc}
1287 216bb34c Shikhar Bhushan
\end{classdesc}
1288 216bb34c Shikhar Bhushan
1289 216bb34c Shikhar Bhushan
1290 216bb34c Shikhar Bhushan
\subsubsection{Also useful}
1291 216bb34c Shikhar Bhushan
\index{LockContext (class in ncclient.operations)}
1292 216bb34c Shikhar Bhushan
1293 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.LockContext}{}\begin{classdesc}{LockContext}{session, target}
1294 216bb34c Shikhar Bhushan
A context manager for the \hyperlink{ncclient.operations.Lock}{\code{Lock}} / \hyperlink{ncclient.operations.Unlock}{\code{Unlock}} pair of RPC's.
1295 216bb34c Shikhar Bhushan
1296 216bb34c Shikhar Bhushan
Initialise with session instance (\hyperlink{ncclient.transport.Session}{\code{Session}}) and lock target (\hyperlink{source-target}{\emph{Source / target parameters}})
1297 216bb34c Shikhar Bhushan
\end{classdesc}
1298 216bb34c Shikhar Bhushan
1299 216bb34c Shikhar Bhushan
1300 216bb34c Shikhar Bhushan
\subsection{Errors}
1301 216bb34c Shikhar Bhushan
\index{OperationError}
1302 216bb34c Shikhar Bhushan
1303 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.OperationError}{}\begin{excdesc}{OperationError}
1304 216bb34c Shikhar Bhushan
Bases: \code{ncclient.NCClientError}
1305 216bb34c Shikhar Bhushan
\end{excdesc}
1306 216bb34c Shikhar Bhushan
\index{TimeoutExpiredError}
1307 216bb34c Shikhar Bhushan
1308 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.TimeoutExpiredError}{}\begin{excdesc}{TimeoutExpiredError}
1309 216bb34c Shikhar Bhushan
Bases: \code{ncclient.NCClientError}
1310 216bb34c Shikhar Bhushan
\end{excdesc}
1311 216bb34c Shikhar Bhushan
\index{MissingCapabilityError}
1312 216bb34c Shikhar Bhushan
1313 216bb34c Shikhar Bhushan
\hypertarget{ncclient.operations.MissingCapabilityError}{}\begin{excdesc}{MissingCapabilityError}
1314 216bb34c Shikhar Bhushan
Bases: \code{ncclient.NCClientError}
1315 216bb34c Shikhar Bhushan
\end{excdesc}
1316 216bb34c Shikhar Bhushan
1317 216bb34c Shikhar Bhushan
\resetcurrentobjects
1318 216bb34c Shikhar Bhushan
\hypertarget{--doc-extending}{}
1319 216bb34c Shikhar Bhushan
1320 216bb34c Shikhar Bhushan
\hypertarget{extending}{}\chapter{Extending NCClient}
1321 216bb34c Shikhar Bhushan
1322 216bb34c Shikhar Bhushan
This is written in a `how-to' style through code examples.
1323 216bb34c Shikhar Bhushan
1324 216bb34c Shikhar Bhushan
\emph{Forthcoming}
1325 216bb34c Shikhar Bhushan
1326 216bb34c Shikhar Bhushan
1327 216bb34c Shikhar Bhushan
\renewcommand{\indexname}{Module Index}
1328 216bb34c Shikhar Bhushan
\printmodindex
1329 216bb34c Shikhar Bhushan
\renewcommand{\indexname}{Index}
1330 216bb34c Shikhar Bhushan
\printindex
1331 216bb34c Shikhar Bhushan
\end{document}