<?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">
        <description>
          <text>Subtree or XPath filter to use.</text>
        </description>
        <nc:get-filter-element-attributes/>
      </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">
        <description>
          <text>This parameter specifies the portion of the system
configuration and state data to retrieve.</text>
        </description>
        <nc:get-filter-element-attributes/>
      </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>
