Adding TestVNF netconf server
[demo.git] / vnfs / TestVNF / netconftemplates / netconftemplates / ietf-netconf@2011-06-01.yin
1 <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-1">
2   <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
3 &lt;module name="ietf-netconf"
4         xmlns="urn:ietf:params:xml:ns:yang:yin:1"
5         xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
6         xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types"
7         xmlns:nacm="urn:ietf:params:xml:ns:yang:ietf-netconf-acm"&gt;
8   &lt;namespace uri="urn:ietf:params:xml:ns:netconf:base:1.0"/&gt;
9   &lt;prefix value="nc"/&gt;
10   &lt;import module="ietf-inet-types"&gt;
11     &lt;prefix value="inet"/&gt;
12   &lt;/import&gt;
13   &lt;import module="ietf-netconf-acm"&gt;
14     &lt;prefix value="nacm"/&gt;
15   &lt;/import&gt;
16   &lt;organization&gt;
17     &lt;text&gt;IETF NETCONF (Network Configuration) Working Group&lt;/text&gt;
18   &lt;/organization&gt;
19   &lt;contact&gt;
20     &lt;text&gt;WG Web:   &amp;lt;http://tools.ietf.org/wg/netconf/&amp;gt;
21 WG List:  &amp;lt;netconf@ietf.org&amp;gt;
22
23 WG Chair: Bert Wijnen
24           &amp;lt;bertietf@bwijnen.net&amp;gt;
25
26 WG Chair: Mehmet Ersue
27           &amp;lt;mehmet.ersue@nsn.com&amp;gt;
28
29 Editor:   Martin Bjorklund
30           &amp;lt;mbj@tail-f.com&amp;gt;
31
32 Editor:   Juergen Schoenwaelder
33           &amp;lt;j.schoenwaelder@jacobs-university.de&amp;gt;
34
35 Editor:   Andy Bierman
36           &amp;lt;andy.bierman@brocade.com&amp;gt;&lt;/text&gt;
37   &lt;/contact&gt;
38   &lt;description&gt;
39     &lt;text&gt;NETCONF Protocol Data Types and Protocol Operations.
40
41 Copyright (c) 2011 IETF Trust and the persons identified as
42 the document authors.  All rights reserved.
43
44 Redistribution and use in source and binary forms, with or
45 without modification, is permitted pursuant to, and subject
46 to the license terms contained in, the Simplified BSD License
47 set forth in Section 4.c of the IETF Trust's Legal Provisions
48 Relating to IETF Documents
49 (http://trustee.ietf.org/license-info).
50
51 This version of this YANG module is part of RFC 6241; see
52 the RFC itself for full legal notices.&lt;/text&gt;
53   &lt;/description&gt;
54   &lt;revision date="2011-06-01"&gt;
55     &lt;description&gt;
56       &lt;text&gt;Initial revision;
57 2013-09-29: Updated to include NACM attributes,
58 as specified in RFC 6536: sec 3.2.5 and 3.2.8&lt;/text&gt;
59     &lt;/description&gt;
60     &lt;reference&gt;
61       &lt;text&gt;RFC 6241: Network Configuration Protocol&lt;/text&gt;
62     &lt;/reference&gt;
63   &lt;/revision&gt;
64   &lt;extension name="get-filter-element-attributes"&gt;
65     &lt;description&gt;
66       &lt;text&gt;If this extension is present within an 'anyxml'
67 statement named 'filter', which must be conceptually
68 defined within the RPC input section for the &amp;lt;get&amp;gt;
69 and &amp;lt;get-config&amp;gt; protocol operations, then the
70 following unqualified XML attribute is supported
71 within the &amp;lt;filter&amp;gt; element, within a &amp;lt;get&amp;gt; or
72 &amp;lt;get-config&amp;gt; protocol operation:
73
74   type : optional attribute with allowed
75          value strings 'subtree' and 'xpath'.
76          If missing, the default value is 'subtree'.
77
78 If the 'xpath' feature is supported, then the
79 following unqualified XML attribute is
80 also supported:
81
82   select: optional attribute containing a
83           string representing an XPath expression.
84           The 'type' attribute must be equal to 'xpath'
85           if this attribute is present.&lt;/text&gt;
86     &lt;/description&gt;
87   &lt;/extension&gt;
88   &lt;feature name="writable-running"&gt;
89     &lt;description&gt;
90       &lt;text&gt;NETCONF :writable-running capability;
91 If the server advertises the :writable-running
92 capability for a session, then this feature must
93 also be enabled for that session.  Otherwise,
94 this feature must not be enabled.&lt;/text&gt;
95     &lt;/description&gt;
96     &lt;reference&gt;
97       &lt;text&gt;RFC 6241, Section 8.2&lt;/text&gt;
98     &lt;/reference&gt;
99   &lt;/feature&gt;
100   &lt;feature name="candidate"&gt;
101     &lt;description&gt;
102       &lt;text&gt;NETCONF :candidate capability;
103 If the server advertises the :candidate
104 capability for a session, then this feature must
105 also be enabled for that session.  Otherwise,
106 this feature must not be enabled.&lt;/text&gt;
107     &lt;/description&gt;
108     &lt;reference&gt;
109       &lt;text&gt;RFC 6241, Section 8.3&lt;/text&gt;
110     &lt;/reference&gt;
111   &lt;/feature&gt;
112   &lt;feature name="confirmed-commit"&gt;
113     &lt;if-feature name="candidate"/&gt;
114     &lt;description&gt;
115       &lt;text&gt;NETCONF :confirmed-commit:1.1 capability;
116 If the server advertises the :confirmed-commit:1.1
117 capability for a session, then this feature must
118 also be enabled for that session.  Otherwise,
119 this feature must not be enabled.&lt;/text&gt;
120     &lt;/description&gt;
121     &lt;reference&gt;
122       &lt;text&gt;RFC 6241, Section 8.4&lt;/text&gt;
123     &lt;/reference&gt;
124   &lt;/feature&gt;
125   &lt;feature name="rollback-on-error"&gt;
126     &lt;description&gt;
127       &lt;text&gt;NETCONF :rollback-on-error capability;
128 If the server advertises the :rollback-on-error
129 capability for a session, then this feature must
130 also be enabled for that session.  Otherwise,
131 this feature must not be enabled.&lt;/text&gt;
132     &lt;/description&gt;
133     &lt;reference&gt;
134       &lt;text&gt;RFC 6241, Section 8.5&lt;/text&gt;
135     &lt;/reference&gt;
136   &lt;/feature&gt;
137   &lt;feature name="validate"&gt;
138     &lt;description&gt;
139       &lt;text&gt;NETCONF :validate:1.1 capability;
140 If the server advertises the :validate:1.1
141 capability for a session, then this feature must
142 also be enabled for that session.  Otherwise,
143 this feature must not be enabled.&lt;/text&gt;
144     &lt;/description&gt;
145     &lt;reference&gt;
146       &lt;text&gt;RFC 6241, Section 8.6&lt;/text&gt;
147     &lt;/reference&gt;
148   &lt;/feature&gt;
149   &lt;feature name="startup"&gt;
150     &lt;description&gt;
151       &lt;text&gt;NETCONF :startup capability;
152 If the server advertises the :startup
153 capability for a session, then this feature must
154 also be enabled for that session.  Otherwise,
155 this feature must not be enabled.&lt;/text&gt;
156     &lt;/description&gt;
157     &lt;reference&gt;
158       &lt;text&gt;RFC 6241, Section 8.7&lt;/text&gt;
159     &lt;/reference&gt;
160   &lt;/feature&gt;
161   &lt;feature name="url"&gt;
162     &lt;description&gt;
163       &lt;text&gt;NETCONF :url capability;
164 If the server advertises the :url
165 capability for a session, then this feature must
166 also be enabled for that session.  Otherwise,
167 this feature must not be enabled.&lt;/text&gt;
168     &lt;/description&gt;
169     &lt;reference&gt;
170       &lt;text&gt;RFC 6241, Section 8.8&lt;/text&gt;
171     &lt;/reference&gt;
172   &lt;/feature&gt;
173   &lt;feature name="xpath"&gt;
174     &lt;description&gt;
175       &lt;text&gt;NETCONF :xpath capability;
176 If the server advertises the :xpath
177 capability for a session, then this feature must
178 also be enabled for that session.  Otherwise,
179 this feature must not be enabled.&lt;/text&gt;
180     &lt;/description&gt;
181     &lt;reference&gt;
182       &lt;text&gt;RFC 6241, Section 8.9&lt;/text&gt;
183     &lt;/reference&gt;
184   &lt;/feature&gt;
185   &lt;typedef name="session-id-type"&gt;
186     &lt;type name="uint32"&gt;
187       &lt;range value="1..max"/&gt;
188     &lt;/type&gt;
189     &lt;description&gt;
190       &lt;text&gt;NETCONF Session Id&lt;/text&gt;
191     &lt;/description&gt;
192   &lt;/typedef&gt;
193   &lt;typedef name="session-id-or-zero-type"&gt;
194     &lt;type name="uint32"/&gt;
195     &lt;description&gt;
196       &lt;text&gt;NETCONF Session Id or Zero to indicate none&lt;/text&gt;
197     &lt;/description&gt;
198   &lt;/typedef&gt;
199   &lt;typedef name="error-tag-type"&gt;
200     &lt;type name="enumeration"&gt;
201       &lt;enum name="in-use"&gt;
202         &lt;description&gt;
203           &lt;text&gt;The request requires a resource that
204 already is in use.&lt;/text&gt;
205         &lt;/description&gt;
206       &lt;/enum&gt;
207       &lt;enum name="invalid-value"&gt;
208         &lt;description&gt;
209           &lt;text&gt;The request specifies an unacceptable value for one
210 or more parameters.&lt;/text&gt;
211         &lt;/description&gt;
212       &lt;/enum&gt;
213       &lt;enum name="too-big"&gt;
214         &lt;description&gt;
215           &lt;text&gt;The request or response (that would be generated) is
216 too large for the implementation to handle.&lt;/text&gt;
217         &lt;/description&gt;
218       &lt;/enum&gt;
219       &lt;enum name="missing-attribute"&gt;
220         &lt;description&gt;
221           &lt;text&gt;An expected attribute is missing.&lt;/text&gt;
222         &lt;/description&gt;
223       &lt;/enum&gt;
224       &lt;enum name="bad-attribute"&gt;
225         &lt;description&gt;
226           &lt;text&gt;An attribute value is not correct; e.g., wrong type,
227 out of range, pattern mismatch.&lt;/text&gt;
228         &lt;/description&gt;
229       &lt;/enum&gt;
230       &lt;enum name="unknown-attribute"&gt;
231         &lt;description&gt;
232           &lt;text&gt;An unexpected attribute is present.&lt;/text&gt;
233         &lt;/description&gt;
234       &lt;/enum&gt;
235       &lt;enum name="missing-element"&gt;
236         &lt;description&gt;
237           &lt;text&gt;An expected element is missing.&lt;/text&gt;
238         &lt;/description&gt;
239       &lt;/enum&gt;
240       &lt;enum name="bad-element"&gt;
241         &lt;description&gt;
242           &lt;text&gt;An element value is not correct; e.g., wrong type,
243 out of range, pattern mismatch.&lt;/text&gt;
244         &lt;/description&gt;
245       &lt;/enum&gt;
246       &lt;enum name="unknown-element"&gt;
247         &lt;description&gt;
248           &lt;text&gt;An unexpected element is present.&lt;/text&gt;
249         &lt;/description&gt;
250       &lt;/enum&gt;
251       &lt;enum name="unknown-namespace"&gt;
252         &lt;description&gt;
253           &lt;text&gt;An unexpected namespace is present.&lt;/text&gt;
254         &lt;/description&gt;
255       &lt;/enum&gt;
256       &lt;enum name="access-denied"&gt;
257         &lt;description&gt;
258           &lt;text&gt;Access to the requested protocol operation or
259 data model is denied because authorization failed.&lt;/text&gt;
260         &lt;/description&gt;
261       &lt;/enum&gt;
262       &lt;enum name="lock-denied"&gt;
263         &lt;description&gt;
264           &lt;text&gt;Access to the requested lock is denied because the
265 lock is currently held by another entity.&lt;/text&gt;
266         &lt;/description&gt;
267       &lt;/enum&gt;
268       &lt;enum name="resource-denied"&gt;
269         &lt;description&gt;
270           &lt;text&gt;Request could not be completed because of
271 insufficient resources.&lt;/text&gt;
272         &lt;/description&gt;
273       &lt;/enum&gt;
274       &lt;enum name="rollback-failed"&gt;
275         &lt;description&gt;
276           &lt;text&gt;Request to roll back some configuration change (via
277 rollback-on-error or &amp;lt;discard-changes&amp;gt; operations)
278 was not completed for some reason.&lt;/text&gt;
279         &lt;/description&gt;
280       &lt;/enum&gt;
281       &lt;enum name="data-exists"&gt;
282         &lt;description&gt;
283           &lt;text&gt;Request could not be completed because the relevant
284 data model content already exists.  For example,
285 a 'create' operation was attempted on data that
286 already exists.&lt;/text&gt;
287         &lt;/description&gt;
288       &lt;/enum&gt;
289       &lt;enum name="data-missing"&gt;
290         &lt;description&gt;
291           &lt;text&gt;Request could not be completed because the relevant
292 data model content does not exist.  For example,
293 a 'delete' operation was attempted on
294 data that does not exist.&lt;/text&gt;
295         &lt;/description&gt;
296       &lt;/enum&gt;
297       &lt;enum name="operation-not-supported"&gt;
298         &lt;description&gt;
299           &lt;text&gt;Request could not be completed because the requested
300 operation is not supported by this implementation.&lt;/text&gt;
301         &lt;/description&gt;
302       &lt;/enum&gt;
303       &lt;enum name="operation-failed"&gt;
304         &lt;description&gt;
305           &lt;text&gt;Request could not be completed because the requested
306 operation failed for some reason not covered by
307 any other error condition.&lt;/text&gt;
308         &lt;/description&gt;
309       &lt;/enum&gt;
310       &lt;enum name="partial-operation"&gt;
311         &lt;description&gt;
312           &lt;text&gt;This error-tag is obsolete, and SHOULD NOT be sent
313 by servers conforming to this document.&lt;/text&gt;
314         &lt;/description&gt;
315       &lt;/enum&gt;
316       &lt;enum name="malformed-message"&gt;
317         &lt;description&gt;
318           &lt;text&gt;A message could not be handled because it failed to
319 be parsed correctly.  For example, the message is not
320 well-formed XML or it uses an invalid character set.&lt;/text&gt;
321         &lt;/description&gt;
322       &lt;/enum&gt;
323     &lt;/type&gt;
324     &lt;description&gt;
325       &lt;text&gt;NETCONF Error Tag&lt;/text&gt;
326     &lt;/description&gt;
327     &lt;reference&gt;
328       &lt;text&gt;RFC 6241, Appendix A&lt;/text&gt;
329     &lt;/reference&gt;
330   &lt;/typedef&gt;
331   &lt;typedef name="error-severity-type"&gt;
332     &lt;type name="enumeration"&gt;
333       &lt;enum name="error"&gt;
334         &lt;description&gt;
335           &lt;text&gt;Error severity&lt;/text&gt;
336         &lt;/description&gt;
337       &lt;/enum&gt;
338       &lt;enum name="warning"&gt;
339         &lt;description&gt;
340           &lt;text&gt;Warning severity&lt;/text&gt;
341         &lt;/description&gt;
342       &lt;/enum&gt;
343     &lt;/type&gt;
344     &lt;description&gt;
345       &lt;text&gt;NETCONF Error Severity&lt;/text&gt;
346     &lt;/description&gt;
347     &lt;reference&gt;
348       &lt;text&gt;RFC 6241, Section 4.3&lt;/text&gt;
349     &lt;/reference&gt;
350   &lt;/typedef&gt;
351   &lt;typedef name="edit-operation-type"&gt;
352     &lt;type name="enumeration"&gt;
353       &lt;enum name="merge"&gt;
354         &lt;description&gt;
355           &lt;text&gt;The configuration data identified by the
356 element containing this attribute is merged
357 with the configuration at the corresponding
358 level in the configuration datastore identified
359 by the target parameter.&lt;/text&gt;
360         &lt;/description&gt;
361       &lt;/enum&gt;
362       &lt;enum name="replace"&gt;
363         &lt;description&gt;
364           &lt;text&gt;The configuration data identified by the element
365 containing this attribute replaces any related
366 configuration in the configuration datastore
367 identified by the target parameter.  If no such
368 configuration data exists in the configuration
369 datastore, it is created.  Unlike a
370 &amp;lt;copy-config&amp;gt; operation, which replaces the
371 entire target configuration, only the configuration
372 actually present in the config parameter is affected.&lt;/text&gt;
373         &lt;/description&gt;
374       &lt;/enum&gt;
375       &lt;enum name="create"&gt;
376         &lt;description&gt;
377           &lt;text&gt;The configuration data identified by the element
378 containing this attribute is added to the
379 configuration if and only if the configuration
380 data does not already exist in the configuration
381 datastore.  If the configuration data exists, an
382 &amp;lt;rpc-error&amp;gt; element is returned with an
383 &amp;lt;error-tag&amp;gt; value of 'data-exists'.&lt;/text&gt;
384         &lt;/description&gt;
385       &lt;/enum&gt;
386       &lt;enum name="delete"&gt;
387         &lt;description&gt;
388           &lt;text&gt;The configuration data identified by the element
389 containing this attribute is deleted from the
390 configuration if and only if the configuration
391 data currently exists in the configuration
392 datastore.  If the configuration data does not
393 exist, an &amp;lt;rpc-error&amp;gt; element is returned with
394 an &amp;lt;error-tag&amp;gt; value of 'data-missing'.&lt;/text&gt;
395         &lt;/description&gt;
396       &lt;/enum&gt;
397       &lt;enum name="remove"&gt;
398         &lt;description&gt;
399           &lt;text&gt;The configuration data identified by the element
400 containing this attribute is deleted from the
401 configuration if the configuration
402 data currently exists in the configuration
403 datastore.  If the configuration data does not
404 exist, the 'remove' operation is silently ignored
405 by the server.&lt;/text&gt;
406         &lt;/description&gt;
407       &lt;/enum&gt;
408     &lt;/type&gt;
409     &lt;default value="merge"/&gt;
410     &lt;description&gt;
411       &lt;text&gt;NETCONF 'operation' attribute values&lt;/text&gt;
412     &lt;/description&gt;
413     &lt;reference&gt;
414       &lt;text&gt;RFC 6241, Section 7.2&lt;/text&gt;
415     &lt;/reference&gt;
416   &lt;/typedef&gt;
417   &lt;rpc name="get-config"&gt;
418     &lt;description&gt;
419       &lt;text&gt;Retrieve all or part of a specified configuration.&lt;/text&gt;
420     &lt;/description&gt;
421     &lt;reference&gt;
422       &lt;text&gt;RFC 6241, Section 7.1&lt;/text&gt;
423     &lt;/reference&gt;
424     &lt;input&gt;
425       &lt;container name="source"&gt;
426         &lt;description&gt;
427           &lt;text&gt;Particular configuration to retrieve.&lt;/text&gt;
428         &lt;/description&gt;
429         &lt;choice name="config-source"&gt;
430           &lt;mandatory value="true"/&gt;
431           &lt;description&gt;
432             &lt;text&gt;The configuration to retrieve.&lt;/text&gt;
433           &lt;/description&gt;
434           &lt;leaf name="candidate"&gt;
435             &lt;if-feature name="candidate"/&gt;
436             &lt;type name="empty"/&gt;
437             &lt;description&gt;
438               &lt;text&gt;The candidate configuration is the config source.&lt;/text&gt;
439             &lt;/description&gt;
440           &lt;/leaf&gt;
441           &lt;leaf name="running"&gt;
442             &lt;type name="empty"/&gt;
443             &lt;description&gt;
444               &lt;text&gt;The running configuration is the config source.&lt;/text&gt;
445             &lt;/description&gt;
446           &lt;/leaf&gt;
447           &lt;leaf name="startup"&gt;
448             &lt;if-feature name="startup"/&gt;
449             &lt;type name="empty"/&gt;
450             &lt;description&gt;
451               &lt;text&gt;The startup configuration is the config source.
452 This is optional-to-implement on the server because
453 not all servers will support filtering for this
454 datastore.&lt;/text&gt;
455             &lt;/description&gt;
456           &lt;/leaf&gt;
457         &lt;/choice&gt;
458       &lt;/container&gt;
459       &lt;anyxml name="filter"&gt;
460         &lt;nc:get-filter-element-attributes/&gt;
461         &lt;description&gt;
462           &lt;text&gt;Subtree or XPath filter to use.&lt;/text&gt;
463         &lt;/description&gt;
464       &lt;/anyxml&gt;
465     &lt;/input&gt;
466     &lt;output&gt;
467       &lt;anyxml name="data"&gt;
468         &lt;description&gt;
469           &lt;text&gt;Copy of the source datastore subset that matched
470 the filter criteria (if any).  An empty data container
471 indicates that the request did not produce any results.&lt;/text&gt;
472         &lt;/description&gt;
473       &lt;/anyxml&gt;
474     &lt;/output&gt;
475   &lt;/rpc&gt;
476   &lt;rpc name="edit-config"&gt;
477     &lt;description&gt;
478       &lt;text&gt;The &amp;lt;edit-config&amp;gt; operation loads all or part of a specified
479 configuration to the specified target configuration.&lt;/text&gt;
480     &lt;/description&gt;
481     &lt;reference&gt;
482       &lt;text&gt;RFC 6241, Section 7.2&lt;/text&gt;
483     &lt;/reference&gt;
484     &lt;input&gt;
485       &lt;container name="target"&gt;
486         &lt;description&gt;
487           &lt;text&gt;Particular configuration to edit.&lt;/text&gt;
488         &lt;/description&gt;
489         &lt;choice name="config-target"&gt;
490           &lt;mandatory value="true"/&gt;
491           &lt;description&gt;
492             &lt;text&gt;The configuration target.&lt;/text&gt;
493           &lt;/description&gt;
494           &lt;leaf name="candidate"&gt;
495             &lt;if-feature name="candidate"/&gt;
496             &lt;type name="empty"/&gt;
497             &lt;description&gt;
498               &lt;text&gt;The candidate configuration is the config target.&lt;/text&gt;
499             &lt;/description&gt;
500           &lt;/leaf&gt;
501           &lt;leaf name="running"&gt;
502             &lt;if-feature name="writable-running"/&gt;
503             &lt;type name="empty"/&gt;
504             &lt;description&gt;
505               &lt;text&gt;The running configuration is the config source.&lt;/text&gt;
506             &lt;/description&gt;
507           &lt;/leaf&gt;
508         &lt;/choice&gt;
509       &lt;/container&gt;
510       &lt;leaf name="default-operation"&gt;
511         &lt;type name="enumeration"&gt;
512           &lt;enum name="merge"&gt;
513             &lt;description&gt;
514               &lt;text&gt;The default operation is merge.&lt;/text&gt;
515             &lt;/description&gt;
516           &lt;/enum&gt;
517           &lt;enum name="replace"&gt;
518             &lt;description&gt;
519               &lt;text&gt;The default operation is replace.&lt;/text&gt;
520             &lt;/description&gt;
521           &lt;/enum&gt;
522           &lt;enum name="none"&gt;
523             &lt;description&gt;
524               &lt;text&gt;There is no default operation.&lt;/text&gt;
525             &lt;/description&gt;
526           &lt;/enum&gt;
527         &lt;/type&gt;
528         &lt;default value="merge"/&gt;
529         &lt;description&gt;
530           &lt;text&gt;The default operation to use.&lt;/text&gt;
531         &lt;/description&gt;
532       &lt;/leaf&gt;
533       &lt;leaf name="test-option"&gt;
534         &lt;if-feature name="validate"/&gt;
535         &lt;type name="enumeration"&gt;
536           &lt;enum name="test-then-set"&gt;
537             &lt;description&gt;
538               &lt;text&gt;The server will test and then set if no errors.&lt;/text&gt;
539             &lt;/description&gt;
540           &lt;/enum&gt;
541           &lt;enum name="set"&gt;
542             &lt;description&gt;
543               &lt;text&gt;The server will set without a test first.&lt;/text&gt;
544             &lt;/description&gt;
545           &lt;/enum&gt;
546           &lt;enum name="test-only"&gt;
547             &lt;description&gt;
548               &lt;text&gt;The server will only test and not set, even
549 if there are no errors.&lt;/text&gt;
550             &lt;/description&gt;
551           &lt;/enum&gt;
552         &lt;/type&gt;
553         &lt;default value="test-then-set"/&gt;
554         &lt;description&gt;
555           &lt;text&gt;The test option to use.&lt;/text&gt;
556         &lt;/description&gt;
557       &lt;/leaf&gt;
558       &lt;leaf name="error-option"&gt;
559         &lt;type name="enumeration"&gt;
560           &lt;enum name="stop-on-error"&gt;
561             &lt;description&gt;
562               &lt;text&gt;The server will stop on errors.&lt;/text&gt;
563             &lt;/description&gt;
564           &lt;/enum&gt;
565           &lt;enum name="continue-on-error"&gt;
566             &lt;description&gt;
567               &lt;text&gt;The server may continue on errors.&lt;/text&gt;
568             &lt;/description&gt;
569           &lt;/enum&gt;
570           &lt;enum name="rollback-on-error"&gt;
571             &lt;description&gt;
572               &lt;text&gt;The server will roll back on errors.
573 This value can only be used if the 'rollback-on-error'
574 feature is supported.&lt;/text&gt;
575             &lt;/description&gt;
576           &lt;/enum&gt;
577         &lt;/type&gt;
578         &lt;default value="stop-on-error"/&gt;
579         &lt;description&gt;
580           &lt;text&gt;The error option to use.&lt;/text&gt;
581         &lt;/description&gt;
582       &lt;/leaf&gt;
583       &lt;choice name="edit-content"&gt;
584         &lt;mandatory value="true"/&gt;
585         &lt;description&gt;
586           &lt;text&gt;The content for the edit operation.&lt;/text&gt;
587         &lt;/description&gt;
588         &lt;anyxml name="config"&gt;
589           &lt;description&gt;
590             &lt;text&gt;Inline Config content.&lt;/text&gt;
591           &lt;/description&gt;
592         &lt;/anyxml&gt;
593         &lt;leaf name="url"&gt;
594           &lt;if-feature name="url"/&gt;
595           &lt;type name="inet:uri"/&gt;
596           &lt;description&gt;
597             &lt;text&gt;URL-based config content.&lt;/text&gt;
598           &lt;/description&gt;
599         &lt;/leaf&gt;
600       &lt;/choice&gt;
601     &lt;/input&gt;
602   &lt;/rpc&gt;
603   &lt;rpc name="copy-config"&gt;
604     &lt;description&gt;
605       &lt;text&gt;Create or replace an entire configuration datastore with the
606 contents of another complete configuration datastore.&lt;/text&gt;
607     &lt;/description&gt;
608     &lt;reference&gt;
609       &lt;text&gt;RFC 6241, Section 7.3&lt;/text&gt;
610     &lt;/reference&gt;
611     &lt;input&gt;
612       &lt;container name="target"&gt;
613         &lt;description&gt;
614           &lt;text&gt;Particular configuration to copy to.&lt;/text&gt;
615         &lt;/description&gt;
616         &lt;choice name="config-target"&gt;
617           &lt;mandatory value="true"/&gt;
618           &lt;description&gt;
619             &lt;text&gt;The configuration target of the copy operation.&lt;/text&gt;
620           &lt;/description&gt;
621           &lt;leaf name="candidate"&gt;
622             &lt;if-feature name="candidate"/&gt;
623             &lt;type name="empty"/&gt;
624             &lt;description&gt;
625               &lt;text&gt;The candidate configuration is the config target.&lt;/text&gt;
626             &lt;/description&gt;
627           &lt;/leaf&gt;
628           &lt;leaf name="running"&gt;
629             &lt;if-feature name="writable-running"/&gt;
630             &lt;type name="empty"/&gt;
631             &lt;description&gt;
632               &lt;text&gt;The running configuration is the config target.
633 This is optional-to-implement on the server.&lt;/text&gt;
634             &lt;/description&gt;
635           &lt;/leaf&gt;
636           &lt;leaf name="startup"&gt;
637             &lt;if-feature name="startup"/&gt;
638             &lt;type name="empty"/&gt;
639             &lt;description&gt;
640               &lt;text&gt;The startup configuration is the config target.&lt;/text&gt;
641             &lt;/description&gt;
642           &lt;/leaf&gt;
643           &lt;leaf name="url"&gt;
644             &lt;if-feature name="url"/&gt;
645             &lt;type name="inet:uri"/&gt;
646             &lt;description&gt;
647               &lt;text&gt;The URL-based configuration is the config target.&lt;/text&gt;
648             &lt;/description&gt;
649           &lt;/leaf&gt;
650         &lt;/choice&gt;
651       &lt;/container&gt;
652       &lt;container name="source"&gt;
653         &lt;description&gt;
654           &lt;text&gt;Particular configuration to copy from.&lt;/text&gt;
655         &lt;/description&gt;
656         &lt;choice name="config-source"&gt;
657           &lt;mandatory value="true"/&gt;
658           &lt;description&gt;
659             &lt;text&gt;The configuration source for the copy operation.&lt;/text&gt;
660           &lt;/description&gt;
661           &lt;leaf name="candidate"&gt;
662             &lt;if-feature name="candidate"/&gt;
663             &lt;type name="empty"/&gt;
664             &lt;description&gt;
665               &lt;text&gt;The candidate configuration is the config source.&lt;/text&gt;
666             &lt;/description&gt;
667           &lt;/leaf&gt;
668           &lt;leaf name="running"&gt;
669             &lt;type name="empty"/&gt;
670             &lt;description&gt;
671               &lt;text&gt;The running configuration is the config source.&lt;/text&gt;
672             &lt;/description&gt;
673           &lt;/leaf&gt;
674           &lt;leaf name="startup"&gt;
675             &lt;if-feature name="startup"/&gt;
676             &lt;type name="empty"/&gt;
677             &lt;description&gt;
678               &lt;text&gt;The startup configuration is the config source.&lt;/text&gt;
679             &lt;/description&gt;
680           &lt;/leaf&gt;
681           &lt;leaf name="url"&gt;
682             &lt;if-feature name="url"/&gt;
683             &lt;type name="inet:uri"/&gt;
684             &lt;description&gt;
685               &lt;text&gt;The URL-based configuration is the config source.&lt;/text&gt;
686             &lt;/description&gt;
687           &lt;/leaf&gt;
688           &lt;anyxml name="config"&gt;
689             &lt;description&gt;
690               &lt;text&gt;Inline Config content: &amp;lt;config&amp;gt; element.  Represents
691 an entire configuration datastore, not
692 a subset of the running datastore.&lt;/text&gt;
693             &lt;/description&gt;
694           &lt;/anyxml&gt;
695         &lt;/choice&gt;
696       &lt;/container&gt;
697     &lt;/input&gt;
698   &lt;/rpc&gt;
699   &lt;rpc name="delete-config"&gt;
700     &lt;nacm:default-deny-all/&gt;
701     &lt;description&gt;
702       &lt;text&gt;Delete a configuration datastore.&lt;/text&gt;
703     &lt;/description&gt;
704     &lt;reference&gt;
705       &lt;text&gt;RFC 6241, Section 7.4&lt;/text&gt;
706     &lt;/reference&gt;
707     &lt;input&gt;
708       &lt;container name="target"&gt;
709         &lt;description&gt;
710           &lt;text&gt;Particular configuration to delete.&lt;/text&gt;
711         &lt;/description&gt;
712         &lt;choice name="config-target"&gt;
713           &lt;mandatory value="true"/&gt;
714           &lt;description&gt;
715             &lt;text&gt;The configuration target to delete.&lt;/text&gt;
716           &lt;/description&gt;
717           &lt;leaf name="startup"&gt;
718             &lt;if-feature name="startup"/&gt;
719             &lt;type name="empty"/&gt;
720             &lt;description&gt;
721               &lt;text&gt;The startup configuration is the config target.&lt;/text&gt;
722             &lt;/description&gt;
723           &lt;/leaf&gt;
724           &lt;leaf name="url"&gt;
725             &lt;if-feature name="url"/&gt;
726             &lt;type name="inet:uri"/&gt;
727             &lt;description&gt;
728               &lt;text&gt;The URL-based configuration is the config target.&lt;/text&gt;
729             &lt;/description&gt;
730           &lt;/leaf&gt;
731         &lt;/choice&gt;
732       &lt;/container&gt;
733     &lt;/input&gt;
734   &lt;/rpc&gt;
735   &lt;rpc name="lock"&gt;
736     &lt;description&gt;
737       &lt;text&gt;The lock operation allows the client to lock the configuration
738 system of a device.&lt;/text&gt;
739     &lt;/description&gt;
740     &lt;reference&gt;
741       &lt;text&gt;RFC 6241, Section 7.5&lt;/text&gt;
742     &lt;/reference&gt;
743     &lt;input&gt;
744       &lt;container name="target"&gt;
745         &lt;description&gt;
746           &lt;text&gt;Particular configuration to lock.&lt;/text&gt;
747         &lt;/description&gt;
748         &lt;choice name="config-target"&gt;
749           &lt;mandatory value="true"/&gt;
750           &lt;description&gt;
751             &lt;text&gt;The configuration target to lock.&lt;/text&gt;
752           &lt;/description&gt;
753           &lt;leaf name="candidate"&gt;
754             &lt;if-feature name="candidate"/&gt;
755             &lt;type name="empty"/&gt;
756             &lt;description&gt;
757               &lt;text&gt;The candidate configuration is the config target.&lt;/text&gt;
758             &lt;/description&gt;
759           &lt;/leaf&gt;
760           &lt;leaf name="running"&gt;
761             &lt;type name="empty"/&gt;
762             &lt;description&gt;
763               &lt;text&gt;The running configuration is the config target.&lt;/text&gt;
764             &lt;/description&gt;
765           &lt;/leaf&gt;
766           &lt;leaf name="startup"&gt;
767             &lt;if-feature name="startup"/&gt;
768             &lt;type name="empty"/&gt;
769             &lt;description&gt;
770               &lt;text&gt;The startup configuration is the config target.&lt;/text&gt;
771             &lt;/description&gt;
772           &lt;/leaf&gt;
773         &lt;/choice&gt;
774       &lt;/container&gt;
775     &lt;/input&gt;
776   &lt;/rpc&gt;
777   &lt;rpc name="unlock"&gt;
778     &lt;description&gt;
779       &lt;text&gt;The unlock operation is used to release a configuration lock,
780 previously obtained with the 'lock' operation.&lt;/text&gt;
781     &lt;/description&gt;
782     &lt;reference&gt;
783       &lt;text&gt;RFC 6241, Section 7.6&lt;/text&gt;
784     &lt;/reference&gt;
785     &lt;input&gt;
786       &lt;container name="target"&gt;
787         &lt;description&gt;
788           &lt;text&gt;Particular configuration to unlock.&lt;/text&gt;
789         &lt;/description&gt;
790         &lt;choice name="config-target"&gt;
791           &lt;mandatory value="true"/&gt;
792           &lt;description&gt;
793             &lt;text&gt;The configuration target to unlock.&lt;/text&gt;
794           &lt;/description&gt;
795           &lt;leaf name="candidate"&gt;
796             &lt;if-feature name="candidate"/&gt;
797             &lt;type name="empty"/&gt;
798             &lt;description&gt;
799               &lt;text&gt;The candidate configuration is the config target.&lt;/text&gt;
800             &lt;/description&gt;
801           &lt;/leaf&gt;
802           &lt;leaf name="running"&gt;
803             &lt;type name="empty"/&gt;
804             &lt;description&gt;
805               &lt;text&gt;The running configuration is the config target.&lt;/text&gt;
806             &lt;/description&gt;
807           &lt;/leaf&gt;
808           &lt;leaf name="startup"&gt;
809             &lt;if-feature name="startup"/&gt;
810             &lt;type name="empty"/&gt;
811             &lt;description&gt;
812               &lt;text&gt;The startup configuration is the config target.&lt;/text&gt;
813             &lt;/description&gt;
814           &lt;/leaf&gt;
815         &lt;/choice&gt;
816       &lt;/container&gt;
817     &lt;/input&gt;
818   &lt;/rpc&gt;
819   &lt;rpc name="get"&gt;
820     &lt;description&gt;
821       &lt;text&gt;Retrieve running configuration and device state information.&lt;/text&gt;
822     &lt;/description&gt;
823     &lt;reference&gt;
824       &lt;text&gt;RFC 6241, Section 7.7&lt;/text&gt;
825     &lt;/reference&gt;
826     &lt;input&gt;
827       &lt;anyxml name="filter"&gt;
828         &lt;nc:get-filter-element-attributes/&gt;
829         &lt;description&gt;
830           &lt;text&gt;This parameter specifies the portion of the system
831 configuration and state data to retrieve.&lt;/text&gt;
832         &lt;/description&gt;
833       &lt;/anyxml&gt;
834     &lt;/input&gt;
835     &lt;output&gt;
836       &lt;anyxml name="data"&gt;
837         &lt;description&gt;
838           &lt;text&gt;Copy of the running datastore subset and/or state
839 data that matched the filter criteria (if any).
840 An empty data container indicates that the request did not
841 produce any results.&lt;/text&gt;
842         &lt;/description&gt;
843       &lt;/anyxml&gt;
844     &lt;/output&gt;
845   &lt;/rpc&gt;
846   &lt;rpc name="close-session"&gt;
847     &lt;description&gt;
848       &lt;text&gt;Request graceful termination of a NETCONF session.&lt;/text&gt;
849     &lt;/description&gt;
850     &lt;reference&gt;
851       &lt;text&gt;RFC 6241, Section 7.8&lt;/text&gt;
852     &lt;/reference&gt;
853   &lt;/rpc&gt;
854   &lt;rpc name="kill-session"&gt;
855     &lt;nacm:default-deny-all/&gt;
856     &lt;description&gt;
857       &lt;text&gt;Force the termination of a NETCONF session.&lt;/text&gt;
858     &lt;/description&gt;
859     &lt;reference&gt;
860       &lt;text&gt;RFC 6241, Section 7.9&lt;/text&gt;
861     &lt;/reference&gt;
862     &lt;input&gt;
863       &lt;leaf name="session-id"&gt;
864         &lt;type name="session-id-type"/&gt;
865         &lt;mandatory value="true"/&gt;
866         &lt;description&gt;
867           &lt;text&gt;Particular session to kill.&lt;/text&gt;
868         &lt;/description&gt;
869       &lt;/leaf&gt;
870     &lt;/input&gt;
871   &lt;/rpc&gt;
872   &lt;rpc name="commit"&gt;
873     &lt;if-feature name="candidate"/&gt;
874     &lt;description&gt;
875       &lt;text&gt;Commit the candidate configuration as the device's new
876 current configuration.&lt;/text&gt;
877     &lt;/description&gt;
878     &lt;reference&gt;
879       &lt;text&gt;RFC 6241, Section 8.3.4.1&lt;/text&gt;
880     &lt;/reference&gt;
881     &lt;input&gt;
882       &lt;leaf name="confirmed"&gt;
883         &lt;if-feature name="confirmed-commit"/&gt;
884         &lt;type name="empty"/&gt;
885         &lt;description&gt;
886           &lt;text&gt;Requests a confirmed commit.&lt;/text&gt;
887         &lt;/description&gt;
888         &lt;reference&gt;
889           &lt;text&gt;RFC 6241, Section 8.3.4.1&lt;/text&gt;
890         &lt;/reference&gt;
891       &lt;/leaf&gt;
892       &lt;leaf name="confirm-timeout"&gt;
893         &lt;if-feature name="confirmed-commit"/&gt;
894         &lt;type name="uint32"&gt;
895           &lt;range value="1..max"/&gt;
896         &lt;/type&gt;
897         &lt;units name="seconds"/&gt;
898         &lt;default value="600"/&gt;
899         &lt;description&gt;
900           &lt;text&gt;The timeout interval for a confirmed commit.&lt;/text&gt;
901         &lt;/description&gt;
902         &lt;reference&gt;
903           &lt;text&gt;RFC 6241, Section 8.3.4.1&lt;/text&gt;
904         &lt;/reference&gt;
905       &lt;/leaf&gt;
906       &lt;leaf name="persist"&gt;
907         &lt;if-feature name="confirmed-commit"/&gt;
908         &lt;type name="string"/&gt;
909         &lt;description&gt;
910           &lt;text&gt;This parameter is used to make a confirmed commit
911 persistent.  A persistent confirmed commit is not aborted
912 if the NETCONF session terminates.  The only way to abort
913 a persistent confirmed commit is to let the timer expire,
914 or to use the &amp;lt;cancel-commit&amp;gt; operation.
915
916 The value of this parameter is a token that must be given
917 in the 'persist-id' parameter of &amp;lt;commit&amp;gt; or
918 &amp;lt;cancel-commit&amp;gt; operations in order to confirm or cancel
919 the persistent confirmed commit.
920
921 The token should be a random string.&lt;/text&gt;
922         &lt;/description&gt;
923         &lt;reference&gt;
924           &lt;text&gt;RFC 6241, Section 8.3.4.1&lt;/text&gt;
925         &lt;/reference&gt;
926       &lt;/leaf&gt;
927       &lt;leaf name="persist-id"&gt;
928         &lt;if-feature name="confirmed-commit"/&gt;
929         &lt;type name="string"/&gt;
930         &lt;description&gt;
931           &lt;text&gt;This parameter is given in order to commit a persistent
932 confirmed commit.  The value must be equal to the value
933 given in the 'persist' parameter to the &amp;lt;commit&amp;gt; operation.
934 If it does not match, the operation fails with an
935 'invalid-value' error.&lt;/text&gt;
936         &lt;/description&gt;
937         &lt;reference&gt;
938           &lt;text&gt;RFC 6241, Section 8.3.4.1&lt;/text&gt;
939         &lt;/reference&gt;
940       &lt;/leaf&gt;
941     &lt;/input&gt;
942   &lt;/rpc&gt;
943   &lt;rpc name="discard-changes"&gt;
944     &lt;if-feature name="candidate"/&gt;
945     &lt;description&gt;
946       &lt;text&gt;Revert the candidate configuration to the current
947 running configuration.&lt;/text&gt;
948     &lt;/description&gt;
949     &lt;reference&gt;
950       &lt;text&gt;RFC 6241, Section 8.3.4.2&lt;/text&gt;
951     &lt;/reference&gt;
952   &lt;/rpc&gt;
953   &lt;rpc name="cancel-commit"&gt;
954     &lt;if-feature name="confirmed-commit"/&gt;
955     &lt;description&gt;
956       &lt;text&gt;This operation is used to cancel an ongoing confirmed commit.
957 If the confirmed commit is persistent, the parameter
958 'persist-id' must be given, and it must match the value of the
959 'persist' parameter.&lt;/text&gt;
960     &lt;/description&gt;
961     &lt;reference&gt;
962       &lt;text&gt;RFC 6241, Section 8.4.4.1&lt;/text&gt;
963     &lt;/reference&gt;
964     &lt;input&gt;
965       &lt;leaf name="persist-id"&gt;
966         &lt;type name="string"/&gt;
967         &lt;description&gt;
968           &lt;text&gt;This parameter is given in order to cancel a persistent
969 confirmed commit.  The value must be equal to the value
970 given in the 'persist' parameter to the &amp;lt;commit&amp;gt; operation.
971 If it does not match, the operation fails with an
972 'invalid-value' error.&lt;/text&gt;
973         &lt;/description&gt;
974       &lt;/leaf&gt;
975     &lt;/input&gt;
976   &lt;/rpc&gt;
977   &lt;rpc name="validate"&gt;
978     &lt;if-feature name="validate"/&gt;
979     &lt;description&gt;
980       &lt;text&gt;Validates the contents of the specified configuration.&lt;/text&gt;
981     &lt;/description&gt;
982     &lt;reference&gt;
983       &lt;text&gt;RFC 6241, Section 8.6.4.1&lt;/text&gt;
984     &lt;/reference&gt;
985     &lt;input&gt;
986       &lt;container name="source"&gt;
987         &lt;description&gt;
988           &lt;text&gt;Particular configuration to validate.&lt;/text&gt;
989         &lt;/description&gt;
990         &lt;choice name="config-source"&gt;
991           &lt;mandatory value="true"/&gt;
992           &lt;description&gt;
993             &lt;text&gt;The configuration source to validate.&lt;/text&gt;
994           &lt;/description&gt;
995           &lt;leaf name="candidate"&gt;
996             &lt;if-feature name="candidate"/&gt;
997             &lt;type name="empty"/&gt;
998             &lt;description&gt;
999               &lt;text&gt;The candidate configuration is the config source.&lt;/text&gt;
1000             &lt;/description&gt;
1001           &lt;/leaf&gt;
1002           &lt;leaf name="running"&gt;
1003             &lt;type name="empty"/&gt;
1004             &lt;description&gt;
1005               &lt;text&gt;The running configuration is the config source.&lt;/text&gt;
1006             &lt;/description&gt;
1007           &lt;/leaf&gt;
1008           &lt;leaf name="startup"&gt;
1009             &lt;if-feature name="startup"/&gt;
1010             &lt;type name="empty"/&gt;
1011             &lt;description&gt;
1012               &lt;text&gt;The startup configuration is the config source.&lt;/text&gt;
1013             &lt;/description&gt;
1014           &lt;/leaf&gt;
1015           &lt;leaf name="url"&gt;
1016             &lt;if-feature name="url"/&gt;
1017             &lt;type name="inet:uri"/&gt;
1018             &lt;description&gt;
1019               &lt;text&gt;The URL-based configuration is the config source.&lt;/text&gt;
1020             &lt;/description&gt;
1021           &lt;/leaf&gt;
1022           &lt;anyxml name="config"&gt;
1023             &lt;description&gt;
1024               &lt;text&gt;Inline Config content: &amp;lt;config&amp;gt; element.  Represents
1025 an entire configuration datastore, not
1026 a subset of the running datastore.&lt;/text&gt;
1027             &lt;/description&gt;
1028           &lt;/anyxml&gt;
1029         &lt;/choice&gt;
1030       &lt;/container&gt;
1031     &lt;/input&gt;
1032   &lt;/rpc&gt;
1033 &lt;/module&gt;
1034 </data>
1035 </rpc-reply>