--- /dev/null
+<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-1">
+ <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"><?xml version="1.0" encoding="UTF-8"?>
+<module name="ietf-netconf"
+ xmlns="urn:ietf:params:xml:ns:yang:yin:1"
+ xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
+ xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types"
+ xmlns:nacm="urn:ietf:params:xml:ns:yang:ietf-netconf-acm">
+ <namespace uri="urn:ietf:params:xml:ns:netconf:base:1.0"/>
+ <prefix value="nc"/>
+ <import module="ietf-inet-types">
+ <prefix value="inet"/>
+ </import>
+ <import module="ietf-netconf-acm">
+ <prefix value="nacm"/>
+ </import>
+ <organization>
+ <text>IETF NETCONF (Network Configuration) Working Group</text>
+ </organization>
+ <contact>
+ <text>WG Web: &lt;http://tools.ietf.org/wg/netconf/&gt;
+WG List: &lt;netconf@ietf.org&gt;
+
+WG Chair: Bert Wijnen
+ &lt;bertietf@bwijnen.net&gt;
+
+WG Chair: Mehmet Ersue
+ &lt;mehmet.ersue@nsn.com&gt;
+
+Editor: Martin Bjorklund
+ &lt;mbj@tail-f.com&gt;
+
+Editor: Juergen Schoenwaelder
+ &lt;j.schoenwaelder@jacobs-university.de&gt;
+
+Editor: Andy Bierman
+ &lt;andy.bierman@brocade.com&gt;</text>
+ </contact>
+ <description>
+ <text>NETCONF Protocol Data Types and Protocol Operations.
+
+Copyright (c) 2011 IETF Trust and the persons identified as
+the document authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or
+without modification, is permitted pursuant to, and subject
+to the license terms contained in, the Simplified BSD License
+set forth in Section 4.c of the IETF Trust's Legal Provisions
+Relating to IETF Documents
+(http://trustee.ietf.org/license-info).
+
+This version of this YANG module is part of RFC 6241; see
+the RFC itself for full legal notices.</text>
+ </description>
+ <revision date="2011-06-01">
+ <description>
+ <text>Initial revision;
+2013-09-29: Updated to include NACM attributes,
+as specified in RFC 6536: sec 3.2.5 and 3.2.8</text>
+ </description>
+ <reference>
+ <text>RFC 6241: Network Configuration Protocol</text>
+ </reference>
+ </revision>
+ <extension name="get-filter-element-attributes">
+ <description>
+ <text>If this extension is present within an 'anyxml'
+statement named 'filter', which must be conceptually
+defined within the RPC input section for the &lt;get&gt;
+and &lt;get-config&gt; protocol operations, then the
+following unqualified XML attribute is supported
+within the &lt;filter&gt; element, within a &lt;get&gt; or
+&lt;get-config&gt; protocol operation:
+
+ type : optional attribute with allowed
+ value strings 'subtree' and 'xpath'.
+ If missing, the default value is 'subtree'.
+
+If the 'xpath' feature is supported, then the
+following unqualified XML attribute is
+also supported:
+
+ select: optional attribute containing a
+ string representing an XPath expression.
+ The 'type' attribute must be equal to 'xpath'
+ if this attribute is present.</text>
+ </description>
+ </extension>
+ <feature name="writable-running">
+ <description>
+ <text>NETCONF :writable-running capability;
+If the server advertises the :writable-running
+capability for a session, then this feature must
+also be enabled for that session. Otherwise,
+this feature must not be enabled.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.2</text>
+ </reference>
+ </feature>
+ <feature name="candidate">
+ <description>
+ <text>NETCONF :candidate capability;
+If the server advertises the :candidate
+capability for a session, then this feature must
+also be enabled for that session. Otherwise,
+this feature must not be enabled.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.3</text>
+ </reference>
+ </feature>
+ <feature name="confirmed-commit">
+ <if-feature name="candidate"/>
+ <description>
+ <text>NETCONF :confirmed-commit:1.1 capability;
+If the server advertises the :confirmed-commit:1.1
+capability for a session, then this feature must
+also be enabled for that session. Otherwise,
+this feature must not be enabled.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.4</text>
+ </reference>
+ </feature>
+ <feature name="rollback-on-error">
+ <description>
+ <text>NETCONF :rollback-on-error capability;
+If the server advertises the :rollback-on-error
+capability for a session, then this feature must
+also be enabled for that session. Otherwise,
+this feature must not be enabled.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.5</text>
+ </reference>
+ </feature>
+ <feature name="validate">
+ <description>
+ <text>NETCONF :validate:1.1 capability;
+If the server advertises the :validate:1.1
+capability for a session, then this feature must
+also be enabled for that session. Otherwise,
+this feature must not be enabled.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.6</text>
+ </reference>
+ </feature>
+ <feature name="startup">
+ <description>
+ <text>NETCONF :startup capability;
+If the server advertises the :startup
+capability for a session, then this feature must
+also be enabled for that session. Otherwise,
+this feature must not be enabled.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.7</text>
+ </reference>
+ </feature>
+ <feature name="url">
+ <description>
+ <text>NETCONF :url capability;
+If the server advertises the :url
+capability for a session, then this feature must
+also be enabled for that session. Otherwise,
+this feature must not be enabled.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.8</text>
+ </reference>
+ </feature>
+ <feature name="xpath">
+ <description>
+ <text>NETCONF :xpath capability;
+If the server advertises the :xpath
+capability for a session, then this feature must
+also be enabled for that session. Otherwise,
+this feature must not be enabled.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.9</text>
+ </reference>
+ </feature>
+ <typedef name="session-id-type">
+ <type name="uint32">
+ <range value="1..max"/>
+ </type>
+ <description>
+ <text>NETCONF Session Id</text>
+ </description>
+ </typedef>
+ <typedef name="session-id-or-zero-type">
+ <type name="uint32"/>
+ <description>
+ <text>NETCONF Session Id or Zero to indicate none</text>
+ </description>
+ </typedef>
+ <typedef name="error-tag-type">
+ <type name="enumeration">
+ <enum name="in-use">
+ <description>
+ <text>The request requires a resource that
+already is in use.</text>
+ </description>
+ </enum>
+ <enum name="invalid-value">
+ <description>
+ <text>The request specifies an unacceptable value for one
+or more parameters.</text>
+ </description>
+ </enum>
+ <enum name="too-big">
+ <description>
+ <text>The request or response (that would be generated) is
+too large for the implementation to handle.</text>
+ </description>
+ </enum>
+ <enum name="missing-attribute">
+ <description>
+ <text>An expected attribute is missing.</text>
+ </description>
+ </enum>
+ <enum name="bad-attribute">
+ <description>
+ <text>An attribute value is not correct; e.g., wrong type,
+out of range, pattern mismatch.</text>
+ </description>
+ </enum>
+ <enum name="unknown-attribute">
+ <description>
+ <text>An unexpected attribute is present.</text>
+ </description>
+ </enum>
+ <enum name="missing-element">
+ <description>
+ <text>An expected element is missing.</text>
+ </description>
+ </enum>
+ <enum name="bad-element">
+ <description>
+ <text>An element value is not correct; e.g., wrong type,
+out of range, pattern mismatch.</text>
+ </description>
+ </enum>
+ <enum name="unknown-element">
+ <description>
+ <text>An unexpected element is present.</text>
+ </description>
+ </enum>
+ <enum name="unknown-namespace">
+ <description>
+ <text>An unexpected namespace is present.</text>
+ </description>
+ </enum>
+ <enum name="access-denied">
+ <description>
+ <text>Access to the requested protocol operation or
+data model is denied because authorization failed.</text>
+ </description>
+ </enum>
+ <enum name="lock-denied">
+ <description>
+ <text>Access to the requested lock is denied because the
+lock is currently held by another entity.</text>
+ </description>
+ </enum>
+ <enum name="resource-denied">
+ <description>
+ <text>Request could not be completed because of
+insufficient resources.</text>
+ </description>
+ </enum>
+ <enum name="rollback-failed">
+ <description>
+ <text>Request to roll back some configuration change (via
+rollback-on-error or &lt;discard-changes&gt; operations)
+was not completed for some reason.</text>
+ </description>
+ </enum>
+ <enum name="data-exists">
+ <description>
+ <text>Request could not be completed because the relevant
+data model content already exists. For example,
+a 'create' operation was attempted on data that
+already exists.</text>
+ </description>
+ </enum>
+ <enum name="data-missing">
+ <description>
+ <text>Request could not be completed because the relevant
+data model content does not exist. For example,
+a 'delete' operation was attempted on
+data that does not exist.</text>
+ </description>
+ </enum>
+ <enum name="operation-not-supported">
+ <description>
+ <text>Request could not be completed because the requested
+operation is not supported by this implementation.</text>
+ </description>
+ </enum>
+ <enum name="operation-failed">
+ <description>
+ <text>Request could not be completed because the requested
+operation failed for some reason not covered by
+any other error condition.</text>
+ </description>
+ </enum>
+ <enum name="partial-operation">
+ <description>
+ <text>This error-tag is obsolete, and SHOULD NOT be sent
+by servers conforming to this document.</text>
+ </description>
+ </enum>
+ <enum name="malformed-message">
+ <description>
+ <text>A message could not be handled because it failed to
+be parsed correctly. For example, the message is not
+well-formed XML or it uses an invalid character set.</text>
+ </description>
+ </enum>
+ </type>
+ <description>
+ <text>NETCONF Error Tag</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Appendix A</text>
+ </reference>
+ </typedef>
+ <typedef name="error-severity-type">
+ <type name="enumeration">
+ <enum name="error">
+ <description>
+ <text>Error severity</text>
+ </description>
+ </enum>
+ <enum name="warning">
+ <description>
+ <text>Warning severity</text>
+ </description>
+ </enum>
+ </type>
+ <description>
+ <text>NETCONF Error Severity</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 4.3</text>
+ </reference>
+ </typedef>
+ <typedef name="edit-operation-type">
+ <type name="enumeration">
+ <enum name="merge">
+ <description>
+ <text>The configuration data identified by the
+element containing this attribute is merged
+with the configuration at the corresponding
+level in the configuration datastore identified
+by the target parameter.</text>
+ </description>
+ </enum>
+ <enum name="replace">
+ <description>
+ <text>The configuration data identified by the element
+containing this attribute replaces any related
+configuration in the configuration datastore
+identified by the target parameter. If no such
+configuration data exists in the configuration
+datastore, it is created. Unlike a
+&lt;copy-config&gt; operation, which replaces the
+entire target configuration, only the configuration
+actually present in the config parameter is affected.</text>
+ </description>
+ </enum>
+ <enum name="create">
+ <description>
+ <text>The configuration data identified by the element
+containing this attribute is added to the
+configuration if and only if the configuration
+data does not already exist in the configuration
+datastore. If the configuration data exists, an
+&lt;rpc-error&gt; element is returned with an
+&lt;error-tag&gt; value of 'data-exists'.</text>
+ </description>
+ </enum>
+ <enum name="delete">
+ <description>
+ <text>The configuration data identified by the element
+containing this attribute is deleted from the
+configuration if and only if the configuration
+data currently exists in the configuration
+datastore. If the configuration data does not
+exist, an &lt;rpc-error&gt; element is returned with
+an &lt;error-tag&gt; value of 'data-missing'.</text>
+ </description>
+ </enum>
+ <enum name="remove">
+ <description>
+ <text>The configuration data identified by the element
+containing this attribute is deleted from the
+configuration if the configuration
+data currently exists in the configuration
+datastore. If the configuration data does not
+exist, the 'remove' operation is silently ignored
+by the server.</text>
+ </description>
+ </enum>
+ </type>
+ <default value="merge"/>
+ <description>
+ <text>NETCONF 'operation' attribute values</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.2</text>
+ </reference>
+ </typedef>
+ <rpc name="get-config">
+ <description>
+ <text>Retrieve all or part of a specified configuration.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.1</text>
+ </reference>
+ <input>
+ <container name="source">
+ <description>
+ <text>Particular configuration to retrieve.</text>
+ </description>
+ <choice name="config-source">
+ <mandatory value="true"/>
+ <description>
+ <text>The configuration to retrieve.</text>
+ </description>
+ <leaf name="candidate">
+ <if-feature name="candidate"/>
+ <type name="empty"/>
+ <description>
+ <text>The candidate configuration is the config source.</text>
+ </description>
+ </leaf>
+ <leaf name="running">
+ <type name="empty"/>
+ <description>
+ <text>The running configuration is the config source.</text>
+ </description>
+ </leaf>
+ <leaf name="startup">
+ <if-feature name="startup"/>
+ <type name="empty"/>
+ <description>
+ <text>The startup configuration is the config source.
+This is optional-to-implement on the server because
+not all servers will support filtering for this
+datastore.</text>
+ </description>
+ </leaf>
+ </choice>
+ </container>
+ <anyxml name="filter">
+ <nc:get-filter-element-attributes/>
+ <description>
+ <text>Subtree or XPath filter to use.</text>
+ </description>
+ </anyxml>
+ </input>
+ <output>
+ <anyxml name="data">
+ <description>
+ <text>Copy of the source datastore subset that matched
+the filter criteria (if any). An empty data container
+indicates that the request did not produce any results.</text>
+ </description>
+ </anyxml>
+ </output>
+ </rpc>
+ <rpc name="edit-config">
+ <description>
+ <text>The &lt;edit-config&gt; operation loads all or part of a specified
+configuration to the specified target configuration.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.2</text>
+ </reference>
+ <input>
+ <container name="target">
+ <description>
+ <text>Particular configuration to edit.</text>
+ </description>
+ <choice name="config-target">
+ <mandatory value="true"/>
+ <description>
+ <text>The configuration target.</text>
+ </description>
+ <leaf name="candidate">
+ <if-feature name="candidate"/>
+ <type name="empty"/>
+ <description>
+ <text>The candidate configuration is the config target.</text>
+ </description>
+ </leaf>
+ <leaf name="running">
+ <if-feature name="writable-running"/>
+ <type name="empty"/>
+ <description>
+ <text>The running configuration is the config source.</text>
+ </description>
+ </leaf>
+ </choice>
+ </container>
+ <leaf name="default-operation">
+ <type name="enumeration">
+ <enum name="merge">
+ <description>
+ <text>The default operation is merge.</text>
+ </description>
+ </enum>
+ <enum name="replace">
+ <description>
+ <text>The default operation is replace.</text>
+ </description>
+ </enum>
+ <enum name="none">
+ <description>
+ <text>There is no default operation.</text>
+ </description>
+ </enum>
+ </type>
+ <default value="merge"/>
+ <description>
+ <text>The default operation to use.</text>
+ </description>
+ </leaf>
+ <leaf name="test-option">
+ <if-feature name="validate"/>
+ <type name="enumeration">
+ <enum name="test-then-set">
+ <description>
+ <text>The server will test and then set if no errors.</text>
+ </description>
+ </enum>
+ <enum name="set">
+ <description>
+ <text>The server will set without a test first.</text>
+ </description>
+ </enum>
+ <enum name="test-only">
+ <description>
+ <text>The server will only test and not set, even
+if there are no errors.</text>
+ </description>
+ </enum>
+ </type>
+ <default value="test-then-set"/>
+ <description>
+ <text>The test option to use.</text>
+ </description>
+ </leaf>
+ <leaf name="error-option">
+ <type name="enumeration">
+ <enum name="stop-on-error">
+ <description>
+ <text>The server will stop on errors.</text>
+ </description>
+ </enum>
+ <enum name="continue-on-error">
+ <description>
+ <text>The server may continue on errors.</text>
+ </description>
+ </enum>
+ <enum name="rollback-on-error">
+ <description>
+ <text>The server will roll back on errors.
+This value can only be used if the 'rollback-on-error'
+feature is supported.</text>
+ </description>
+ </enum>
+ </type>
+ <default value="stop-on-error"/>
+ <description>
+ <text>The error option to use.</text>
+ </description>
+ </leaf>
+ <choice name="edit-content">
+ <mandatory value="true"/>
+ <description>
+ <text>The content for the edit operation.</text>
+ </description>
+ <anyxml name="config">
+ <description>
+ <text>Inline Config content.</text>
+ </description>
+ </anyxml>
+ <leaf name="url">
+ <if-feature name="url"/>
+ <type name="inet:uri"/>
+ <description>
+ <text>URL-based config content.</text>
+ </description>
+ </leaf>
+ </choice>
+ </input>
+ </rpc>
+ <rpc name="copy-config">
+ <description>
+ <text>Create or replace an entire configuration datastore with the
+contents of another complete configuration datastore.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.3</text>
+ </reference>
+ <input>
+ <container name="target">
+ <description>
+ <text>Particular configuration to copy to.</text>
+ </description>
+ <choice name="config-target">
+ <mandatory value="true"/>
+ <description>
+ <text>The configuration target of the copy operation.</text>
+ </description>
+ <leaf name="candidate">
+ <if-feature name="candidate"/>
+ <type name="empty"/>
+ <description>
+ <text>The candidate configuration is the config target.</text>
+ </description>
+ </leaf>
+ <leaf name="running">
+ <if-feature name="writable-running"/>
+ <type name="empty"/>
+ <description>
+ <text>The running configuration is the config target.
+This is optional-to-implement on the server.</text>
+ </description>
+ </leaf>
+ <leaf name="startup">
+ <if-feature name="startup"/>
+ <type name="empty"/>
+ <description>
+ <text>The startup configuration is the config target.</text>
+ </description>
+ </leaf>
+ <leaf name="url">
+ <if-feature name="url"/>
+ <type name="inet:uri"/>
+ <description>
+ <text>The URL-based configuration is the config target.</text>
+ </description>
+ </leaf>
+ </choice>
+ </container>
+ <container name="source">
+ <description>
+ <text>Particular configuration to copy from.</text>
+ </description>
+ <choice name="config-source">
+ <mandatory value="true"/>
+ <description>
+ <text>The configuration source for the copy operation.</text>
+ </description>
+ <leaf name="candidate">
+ <if-feature name="candidate"/>
+ <type name="empty"/>
+ <description>
+ <text>The candidate configuration is the config source.</text>
+ </description>
+ </leaf>
+ <leaf name="running">
+ <type name="empty"/>
+ <description>
+ <text>The running configuration is the config source.</text>
+ </description>
+ </leaf>
+ <leaf name="startup">
+ <if-feature name="startup"/>
+ <type name="empty"/>
+ <description>
+ <text>The startup configuration is the config source.</text>
+ </description>
+ </leaf>
+ <leaf name="url">
+ <if-feature name="url"/>
+ <type name="inet:uri"/>
+ <description>
+ <text>The URL-based configuration is the config source.</text>
+ </description>
+ </leaf>
+ <anyxml name="config">
+ <description>
+ <text>Inline Config content: &lt;config&gt; element. Represents
+an entire configuration datastore, not
+a subset of the running datastore.</text>
+ </description>
+ </anyxml>
+ </choice>
+ </container>
+ </input>
+ </rpc>
+ <rpc name="delete-config">
+ <nacm:default-deny-all/>
+ <description>
+ <text>Delete a configuration datastore.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.4</text>
+ </reference>
+ <input>
+ <container name="target">
+ <description>
+ <text>Particular configuration to delete.</text>
+ </description>
+ <choice name="config-target">
+ <mandatory value="true"/>
+ <description>
+ <text>The configuration target to delete.</text>
+ </description>
+ <leaf name="startup">
+ <if-feature name="startup"/>
+ <type name="empty"/>
+ <description>
+ <text>The startup configuration is the config target.</text>
+ </description>
+ </leaf>
+ <leaf name="url">
+ <if-feature name="url"/>
+ <type name="inet:uri"/>
+ <description>
+ <text>The URL-based configuration is the config target.</text>
+ </description>
+ </leaf>
+ </choice>
+ </container>
+ </input>
+ </rpc>
+ <rpc name="lock">
+ <description>
+ <text>The lock operation allows the client to lock the configuration
+system of a device.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.5</text>
+ </reference>
+ <input>
+ <container name="target">
+ <description>
+ <text>Particular configuration to lock.</text>
+ </description>
+ <choice name="config-target">
+ <mandatory value="true"/>
+ <description>
+ <text>The configuration target to lock.</text>
+ </description>
+ <leaf name="candidate">
+ <if-feature name="candidate"/>
+ <type name="empty"/>
+ <description>
+ <text>The candidate configuration is the config target.</text>
+ </description>
+ </leaf>
+ <leaf name="running">
+ <type name="empty"/>
+ <description>
+ <text>The running configuration is the config target.</text>
+ </description>
+ </leaf>
+ <leaf name="startup">
+ <if-feature name="startup"/>
+ <type name="empty"/>
+ <description>
+ <text>The startup configuration is the config target.</text>
+ </description>
+ </leaf>
+ </choice>
+ </container>
+ </input>
+ </rpc>
+ <rpc name="unlock">
+ <description>
+ <text>The unlock operation is used to release a configuration lock,
+previously obtained with the 'lock' operation.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.6</text>
+ </reference>
+ <input>
+ <container name="target">
+ <description>
+ <text>Particular configuration to unlock.</text>
+ </description>
+ <choice name="config-target">
+ <mandatory value="true"/>
+ <description>
+ <text>The configuration target to unlock.</text>
+ </description>
+ <leaf name="candidate">
+ <if-feature name="candidate"/>
+ <type name="empty"/>
+ <description>
+ <text>The candidate configuration is the config target.</text>
+ </description>
+ </leaf>
+ <leaf name="running">
+ <type name="empty"/>
+ <description>
+ <text>The running configuration is the config target.</text>
+ </description>
+ </leaf>
+ <leaf name="startup">
+ <if-feature name="startup"/>
+ <type name="empty"/>
+ <description>
+ <text>The startup configuration is the config target.</text>
+ </description>
+ </leaf>
+ </choice>
+ </container>
+ </input>
+ </rpc>
+ <rpc name="get">
+ <description>
+ <text>Retrieve running configuration and device state information.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.7</text>
+ </reference>
+ <input>
+ <anyxml name="filter">
+ <nc:get-filter-element-attributes/>
+ <description>
+ <text>This parameter specifies the portion of the system
+configuration and state data to retrieve.</text>
+ </description>
+ </anyxml>
+ </input>
+ <output>
+ <anyxml name="data">
+ <description>
+ <text>Copy of the running datastore subset and/or state
+data that matched the filter criteria (if any).
+An empty data container indicates that the request did not
+produce any results.</text>
+ </description>
+ </anyxml>
+ </output>
+ </rpc>
+ <rpc name="close-session">
+ <description>
+ <text>Request graceful termination of a NETCONF session.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.8</text>
+ </reference>
+ </rpc>
+ <rpc name="kill-session">
+ <nacm:default-deny-all/>
+ <description>
+ <text>Force the termination of a NETCONF session.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 7.9</text>
+ </reference>
+ <input>
+ <leaf name="session-id">
+ <type name="session-id-type"/>
+ <mandatory value="true"/>
+ <description>
+ <text>Particular session to kill.</text>
+ </description>
+ </leaf>
+ </input>
+ </rpc>
+ <rpc name="commit">
+ <if-feature name="candidate"/>
+ <description>
+ <text>Commit the candidate configuration as the device's new
+current configuration.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.3.4.1</text>
+ </reference>
+ <input>
+ <leaf name="confirmed">
+ <if-feature name="confirmed-commit"/>
+ <type name="empty"/>
+ <description>
+ <text>Requests a confirmed commit.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.3.4.1</text>
+ </reference>
+ </leaf>
+ <leaf name="confirm-timeout">
+ <if-feature name="confirmed-commit"/>
+ <type name="uint32">
+ <range value="1..max"/>
+ </type>
+ <units name="seconds"/>
+ <default value="600"/>
+ <description>
+ <text>The timeout interval for a confirmed commit.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.3.4.1</text>
+ </reference>
+ </leaf>
+ <leaf name="persist">
+ <if-feature name="confirmed-commit"/>
+ <type name="string"/>
+ <description>
+ <text>This parameter is used to make a confirmed commit
+persistent. A persistent confirmed commit is not aborted
+if the NETCONF session terminates. The only way to abort
+a persistent confirmed commit is to let the timer expire,
+or to use the &lt;cancel-commit&gt; operation.
+
+The value of this parameter is a token that must be given
+in the 'persist-id' parameter of &lt;commit&gt; or
+&lt;cancel-commit&gt; operations in order to confirm or cancel
+the persistent confirmed commit.
+
+The token should be a random string.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.3.4.1</text>
+ </reference>
+ </leaf>
+ <leaf name="persist-id">
+ <if-feature name="confirmed-commit"/>
+ <type name="string"/>
+ <description>
+ <text>This parameter is given in order to commit a persistent
+confirmed commit. The value must be equal to the value
+given in the 'persist' parameter to the &lt;commit&gt; operation.
+If it does not match, the operation fails with an
+'invalid-value' error.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.3.4.1</text>
+ </reference>
+ </leaf>
+ </input>
+ </rpc>
+ <rpc name="discard-changes">
+ <if-feature name="candidate"/>
+ <description>
+ <text>Revert the candidate configuration to the current
+running configuration.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.3.4.2</text>
+ </reference>
+ </rpc>
+ <rpc name="cancel-commit">
+ <if-feature name="confirmed-commit"/>
+ <description>
+ <text>This operation is used to cancel an ongoing confirmed commit.
+If the confirmed commit is persistent, the parameter
+'persist-id' must be given, and it must match the value of the
+'persist' parameter.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.4.4.1</text>
+ </reference>
+ <input>
+ <leaf name="persist-id">
+ <type name="string"/>
+ <description>
+ <text>This parameter is given in order to cancel a persistent
+confirmed commit. The value must be equal to the value
+given in the 'persist' parameter to the &lt;commit&gt; operation.
+If it does not match, the operation fails with an
+'invalid-value' error.</text>
+ </description>
+ </leaf>
+ </input>
+ </rpc>
+ <rpc name="validate">
+ <if-feature name="validate"/>
+ <description>
+ <text>Validates the contents of the specified configuration.</text>
+ </description>
+ <reference>
+ <text>RFC 6241, Section 8.6.4.1</text>
+ </reference>
+ <input>
+ <container name="source">
+ <description>
+ <text>Particular configuration to validate.</text>
+ </description>
+ <choice name="config-source">
+ <mandatory value="true"/>
+ <description>
+ <text>The configuration source to validate.</text>
+ </description>
+ <leaf name="candidate">
+ <if-feature name="candidate"/>
+ <type name="empty"/>
+ <description>
+ <text>The candidate configuration is the config source.</text>
+ </description>
+ </leaf>
+ <leaf name="running">
+ <type name="empty"/>
+ <description>
+ <text>The running configuration is the config source.</text>
+ </description>
+ </leaf>
+ <leaf name="startup">
+ <if-feature name="startup"/>
+ <type name="empty"/>
+ <description>
+ <text>The startup configuration is the config source.</text>
+ </description>
+ </leaf>
+ <leaf name="url">
+ <if-feature name="url"/>
+ <type name="inet:uri"/>
+ <description>
+ <text>The URL-based configuration is the config source.</text>
+ </description>
+ </leaf>
+ <anyxml name="config">
+ <description>
+ <text>Inline Config content: &lt;config&gt; element. Represents
+an entire configuration datastore, not
+a subset of the running datastore.</text>
+ </description>
+ </anyxml>
+ </choice>
+ </container>
+ </input>
+ </rpc>
+</module>
+</data>
+</rpc-reply>