Blame tests/schema/yin/ietf/ietf-system.yin

Packit 8fb591
Packit 8fb591
Packit 8fb591
        xmlns="urn:ietf:params:xml:ns:yang:yin:1"
Packit 8fb591
        xmlns:sys="urn:ietf:params:xml:ns:yang:ietf-system"
Packit 8fb591
        xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types"
Packit 8fb591
        xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types"
Packit 8fb591
        xmlns:nacm="urn:ietf:params:xml:ns:yang:ietf-netconf-acm"
Packit 8fb591
        xmlns:ianach="urn:ietf:params:xml:ns:yang:iana-crypt-hash">
Packit 8fb591
  <namespace uri="urn:ietf:params:xml:ns:yang:ietf-system"/>
Packit 8fb591
  <prefix value="sys"/>
Packit 8fb591
  <import module="ietf-yang-types">
Packit 8fb591
    <prefix value="yang"/>
Packit 8fb591
  </import>
Packit 8fb591
  <import module="ietf-inet-types">
Packit 8fb591
    <prefix value="inet"/>
Packit 8fb591
  </import>
Packit 8fb591
  <import module="ietf-netconf-acm">
Packit 8fb591
    <prefix value="nacm"/>
Packit 8fb591
  </import>
Packit 8fb591
  <import module="iana-crypt-hash">
Packit 8fb591
    <prefix value="ianach"/>
Packit 8fb591
  </import>
Packit 8fb591
  <organization>
Packit 8fb591
    <text>IETF NETMOD (NETCONF Data Modeling Language) Working Group</text>
Packit 8fb591
  </organization>
Packit 8fb591
  <contact>
Packit 8fb591
    <text>WG Web:   <http://tools.ietf.org/wg/netmod/>
Packit 8fb591
WG List:  <mailto:netmod@ietf.org>
Packit 8fb591
Packit 8fb591
WG Chair: Thomas Nadeau
Packit 8fb591
          <mailto:tnadeau@lucidvision.com>
Packit 8fb591
Packit 8fb591
WG Chair: Juergen Schoenwaelder
Packit 8fb591
          <mailto:j.schoenwaelder@jacobs-university.de>
Packit 8fb591
Packit 8fb591
Editor:   Andy Bierman
Packit 8fb591
          <mailto:andy@yumaworks.com>
Packit 8fb591
Packit 8fb591
Editor:   Martin Bjorklund
Packit 8fb591
          <mailto:mbj@tail-f.com></text>
Packit 8fb591
  </contact>
Packit 8fb591
  <description>
Packit 8fb591
    <text>This module contains a collection of YANG definitions for the
Packit 8fb591
configuration and identification of some common system
Packit 8fb591
properties within a device containing a NETCONF server.  This
Packit 8fb591
includes data node definitions for system identification,
Packit 8fb591
time-of-day management, user management, DNS resolver
Packit 8fb591
configuration, and some protocol operations for system
Packit 8fb591
management.
Packit 8fb591
Packit 8fb591
Copyright (c) 2014 IETF Trust and the persons identified as
Packit 8fb591
authors of the code.  All rights reserved.
Packit 8fb591
Packit 8fb591
Redistribution and use in source and binary forms, with or
Packit 8fb591
without modification, is permitted pursuant to, and subject
Packit 8fb591
to the license terms contained in, the Simplified BSD License
Packit 8fb591
set forth in Section 4.c of the IETF Trust's Legal Provisions
Packit 8fb591
Relating to IETF Documents
Packit 8fb591
(http://trustee.ietf.org/license-info).
Packit 8fb591
Packit 8fb591
This version of this YANG module is part of RFC 7317; see
Packit 8fb591
the RFC itself for full legal notices.</text>
Packit 8fb591
  </description>
Packit 8fb591
  <revision date="2014-08-06">
Packit 8fb591
    <description>
Packit 8fb591
      <text>Initial revision.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 7317: A YANG Data Model for System Management</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </revision>
Packit 8fb591
  <typedef name="timezone-name">
Packit 8fb591
    <type name="string"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>A time zone name as used by the Time Zone Database,
Packit 8fb591
sometimes referred to as the 'Olson Database'.
Packit 8fb591
Packit 8fb591
The exact set of valid values is an implementation-specific
Packit 8fb591
matter.  Client discovery of the exact set of time zone names
Packit 8fb591
for a particular server is out of scope.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 6557: Procedures for Maintaining the Time Zone Database</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </typedef>
Packit 8fb591
  <feature name="radius">
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates that the device can be configured as a RADIUS
Packit 8fb591
client.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 2865: Remote Authentication Dial In User Service (RADIUS)</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </feature>
Packit 8fb591
  <feature name="authentication">
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates that the device supports configuration of
Packit 8fb591
user authentication.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </feature>
Packit 8fb591
  <feature name="local-users">
Packit 8fb591
    <if-feature name="authentication"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates that the device supports configuration of
Packit 8fb591
local user authentication.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </feature>
Packit 8fb591
  <feature name="radius-authentication">
Packit 8fb591
    <if-feature name="radius"/>
Packit 8fb591
    <if-feature name="authentication"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates that the device supports configuration of user
Packit 8fb591
authentication over RADIUS.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 2865: Remote Authentication Dial In User Service (RADIUS)
Packit 8fb591
RFC 5607: Remote Authentication Dial-In User Service (RADIUS)
Packit 8fb591
          Authorization for Network Access Server (NAS)
Packit 8fb591
          Management</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </feature>
Packit 8fb591
  <feature name="ntp">
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates that the device can be configured to use one or
Packit 8fb591
more NTP servers to set the system date and time.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </feature>
Packit 8fb591
  <feature name="ntp-udp-port">
Packit 8fb591
    <if-feature name="ntp"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates that the device supports the configuration of
Packit 8fb591
the UDP port for NTP servers.
Packit 8fb591
Packit 8fb591
This is a 'feature', since many implementations do not support
Packit 8fb591
any port other than the default port.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </feature>
Packit 8fb591
  <feature name="timezone-name">
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates that the local time zone on the device
Packit 8fb591
can be configured to use the TZ database
Packit 8fb591
to set the time zone and manage daylight saving time.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 6557: Procedures for Maintaining the Time Zone Database</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </feature>
Packit 8fb591
  <feature name="dns-udp-tcp-port">
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates that the device supports the configuration of
Packit 8fb591
the UDP and TCP port for DNS servers.
Packit 8fb591
Packit 8fb591
This is a 'feature', since many implementations do not support
Packit 8fb591
any port other than the default port.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </feature>
Packit 8fb591
  <identity name="authentication-method">
Packit 8fb591
    <description>
Packit 8fb591
      <text>Base identity for user authentication methods.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </identity>
Packit 8fb591
  <identity name="radius">
Packit 8fb591
    <base name="authentication-method"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates user authentication using RADIUS.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 2865: Remote Authentication Dial In User Service (RADIUS)
Packit 8fb591
RFC 5607: Remote Authentication Dial-In User Service (RADIUS)
Packit 8fb591
          Authorization for Network Access Server (NAS)
Packit 8fb591
          Management</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </identity>
Packit 8fb591
  <identity name="local-users">
Packit 8fb591
    <base name="authentication-method"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>Indicates password-based authentication of locally
Packit 8fb591
configured users.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </identity>
Packit 8fb591
  <identity name="radius-authentication-type">
Packit 8fb591
    <description>
Packit 8fb591
      <text>Base identity for RADIUS authentication types.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </identity>
Packit 8fb591
  <identity name="radius-pap">
Packit 8fb591
    <base name="radius-authentication-type"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The device requests Password Authentication Protocol (PAP)
Packit 8fb591
authentication from the RADIUS server.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 2865: Remote Authentication Dial In User Service (RADIUS)</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </identity>
Packit 8fb591
  <identity name="radius-chap">
Packit 8fb591
    <base name="radius-authentication-type"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>The device requests Challenge Handshake Authentication
Packit 8fb591
Protocol (CHAP) authentication from the RADIUS server.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <reference>
Packit 8fb591
      <text>RFC 2865: Remote Authentication Dial In User Service (RADIUS)</text>
Packit 8fb591
    </reference>
Packit 8fb591
  </identity>
Packit 8fb591
  <container name="system">
Packit 8fb591
    <description>
Packit 8fb591
      <text>System group configuration.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <leaf name="contact">
Packit 8fb591
      <type name="string"/>
Packit 8fb591
      <description>
Packit 8fb591
        <text>The administrator contact information for the system.
Packit 8fb591
Packit 8fb591
A server implementation MAY map this leaf to the sysContact
Packit 8fb591
MIB object.  Such an implementation needs to use some
Packit 8fb591
mechanism to handle the differences in size and characters
Packit 8fb591
allowed between this leaf and sysContact.  The definition of
Packit 8fb591
such a mechanism is outside the scope of this document.</text>
Packit 8fb591
      </description>
Packit 8fb591
      <reference>
Packit 8fb591
        <text>RFC 3418: Management Information Base (MIB) for the
Packit 8fb591
          Simple Network Management Protocol (SNMP)
Packit 8fb591
          SNMPv2-MIB.sysContact</text>
Packit 8fb591
      </reference>
Packit 8fb591
    </leaf>
Packit 8fb591
    <leaf name="hostname">
Packit 8fb591
      <type name="inet:domain-name"/>
Packit 8fb591
      <description>
Packit 8fb591
        <text>The name of the host.  This name can be a single domain
Packit 8fb591
label or the fully qualified domain name of the host.</text>
Packit 8fb591
      </description>
Packit 8fb591
    </leaf>
Packit 8fb591
    <leaf name="location">
Packit 8fb591
      <type name="string"/>
Packit 8fb591
      <description>
Packit 8fb591
        <text>The system location.
Packit 8fb591
Packit 8fb591
A server implementation MAY map this leaf to the sysLocation
Packit 8fb591
MIB object.  Such an implementation needs to use some
Packit 8fb591
mechanism to handle the differences in size and characters
Packit 8fb591
allowed between this leaf and sysLocation.  The definition
Packit 8fb591
of such a mechanism is outside the scope of this document.</text>
Packit 8fb591
      </description>
Packit 8fb591
      <reference>
Packit 8fb591
        <text>RFC 3418: Management Information Base (MIB) for the
Packit 8fb591
          Simple Network Management Protocol (SNMP)
Packit 8fb591
          SNMPv2-MIB.sysLocation</text>
Packit 8fb591
      </reference>
Packit 8fb591
    </leaf>
Packit 8fb591
    <container name="clock">
Packit 8fb591
      <description>
Packit 8fb591
        <text>Configuration of the system date and time properties.</text>
Packit 8fb591
      </description>
Packit 8fb591
      <choice name="timezone">
Packit 8fb591
        <description>
Packit 8fb591
          <text>The system time zone information.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <case name="timezone-name">
Packit 8fb591
          <if-feature name="timezone-name"/>
Packit 8fb591
          <leaf name="timezone-name">
Packit 8fb591
            <type name="timezone-name"/>
Packit 8fb591
            <description>
Packit 8fb591
              <text>The TZ database name to use for the system, such
Packit 8fb591
as 'Europe/Stockholm'.</text>
Packit 8fb591
            </description>
Packit 8fb591
          </leaf>
Packit 8fb591
        </case>
Packit 8fb591
        <case name="timezone-utc-offset">
Packit 8fb591
          <leaf name="timezone-utc-offset">
Packit 8fb591
            <type name="int16">
Packit 8fb591
              <range value="-1500 .. 1500"/>
Packit 8fb591
            </type>
Packit 8fb591
            <units name="minutes"/>
Packit 8fb591
            <description>
Packit 8fb591
              <text>The number of minutes to add to UTC time to
Packit 8fb591
identify the time zone for this system.  For example,
Packit 8fb591
'UTC - 8:00 hours' would be represented as '-480'.
Packit 8fb591
Note that automatic daylight saving time adjustment
Packit 8fb591
is not provided if this object is used.</text>
Packit 8fb591
            </description>
Packit 8fb591
          </leaf>
Packit 8fb591
        </case>
Packit 8fb591
      </choice>
Packit 8fb591
    </container>
Packit 8fb591
    <container name="ntp">
Packit 8fb591
      <if-feature name="ntp"/>
Packit 8fb591
      <presence value="Enables the NTP client unless the 'enabled' leaf
(which defaults to 'true') is set to 'false'"/>
Packit 8fb591
      <description>
Packit 8fb591
        <text>Configuration of the NTP client.</text>
Packit 8fb591
      </description>
Packit 8fb591
      <leaf name="enabled">
Packit 8fb591
        <type name="boolean"/>
Packit 8fb591
        <default value="true"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>Indicates that the system should attempt to
Packit 8fb591
synchronize the system clock with an NTP server
Packit 8fb591
from the 'ntp/server' list.</text>
Packit 8fb591
        </description>
Packit 8fb591
      </leaf>
Packit 8fb591
      <list name="server">
Packit 8fb591
        <key value="name"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>List of NTP servers to use for system clock
Packit 8fb591
synchronization.  If '/system/ntp/enabled'
Packit 8fb591
is 'true', then the system will attempt to
Packit 8fb591
contact and utilize the specified NTP servers.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <leaf name="name">
Packit 8fb591
          <type name="string"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>An arbitrary name for the NTP server.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
        <choice name="transport">
Packit 8fb591
          <mandatory value="true"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The transport-protocol-specific parameters for this
Packit 8fb591
server.</text>
Packit 8fb591
          </description>
Packit 8fb591
          <case name="udp">
Packit 8fb591
            <container name="udp">
Packit 8fb591
              <description>
Packit 8fb591
                <text>Contains UDP-specific configuration parameters
Packit 8fb591
for NTP.</text>
Packit 8fb591
              </description>
Packit 8fb591
              <leaf name="address">
Packit 8fb591
                <type name="inet:host"/>
Packit 8fb591
                <mandatory value="true"/>
Packit 8fb591
                <description>
Packit 8fb591
                  <text>The address of the NTP server.</text>
Packit 8fb591
                </description>
Packit 8fb591
              </leaf>
Packit 8fb591
              <leaf name="port">
Packit 8fb591
                <if-feature name="ntp-udp-port"/>
Packit 8fb591
                <type name="inet:port-number"/>
Packit 8fb591
                <default value="123"/>
Packit 8fb591
                <description>
Packit 8fb591
                  <text>The port number of the NTP server.</text>
Packit 8fb591
                </description>
Packit 8fb591
              </leaf>
Packit 8fb591
            </container>
Packit 8fb591
          </case>
Packit 8fb591
        </choice>
Packit 8fb591
        <leaf name="association-type">
Packit 8fb591
          <type name="enumeration">
Packit 8fb591
            <enum name="server">
Packit 8fb591
              <description>
Packit 8fb591
                <text>Use client association mode.  This device
Packit 8fb591
will not provide synchronization to the
Packit 8fb591
configured NTP server.</text>
Packit 8fb591
              </description>
Packit 8fb591
            </enum>
Packit 8fb591
            <enum name="peer">
Packit 8fb591
              <description>
Packit 8fb591
                <text>Use symmetric active association mode.
Packit 8fb591
This device may provide synchronization
Packit 8fb591
to the configured NTP server.</text>
Packit 8fb591
              </description>
Packit 8fb591
            </enum>
Packit 8fb591
            <enum name="pool">
Packit 8fb591
              <description>
Packit 8fb591
                <text>Use client association mode with one or
Packit 8fb591
more of the NTP servers found by DNS
Packit 8fb591
resolution of the domain name given by
Packit 8fb591
the 'address' leaf.  This device will not
Packit 8fb591
provide synchronization to the servers.</text>
Packit 8fb591
              </description>
Packit 8fb591
            </enum>
Packit 8fb591
          </type>
Packit 8fb591
          <default value="server"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The desired association type for this NTP server.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
        <leaf name="iburst">
Packit 8fb591
          <type name="boolean"/>
Packit 8fb591
          <default value="false"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>Indicates whether this server should enable burst
Packit 8fb591
synchronization or not.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
        <leaf name="prefer">
Packit 8fb591
          <type name="boolean"/>
Packit 8fb591
          <default value="false"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>Indicates whether this server should be preferred
Packit 8fb591
or not.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
      </list>
Packit 8fb591
    </container>
Packit 8fb591
    <container name="dns-resolver">
Packit 8fb591
      <description>
Packit 8fb591
        <text>Configuration of the DNS resolver.</text>
Packit 8fb591
      </description>
Packit 8fb591
      <leaf-list name="search">
Packit 8fb591
        <type name="inet:domain-name"/>
Packit 8fb591
        <ordered-by value="user"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>An ordered list of domains to search when resolving
Packit 8fb591
a host name.</text>
Packit 8fb591
        </description>
Packit 8fb591
      </leaf-list>
Packit 8fb591
      <list name="server">
Packit 8fb591
        <key value="name"/>
Packit 8fb591
        <ordered-by value="user"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>List of the DNS servers that the resolver should query.
Packit 8fb591
Packit 8fb591
When the resolver is invoked by a calling application, it
Packit 8fb591
sends the query to the first name server in this list.  If
Packit 8fb591
no response has been received within 'timeout' seconds,
Packit 8fb591
the resolver continues with the next server in the list.
Packit 8fb591
If no response is received from any server, the resolver
Packit 8fb591
continues with the first server again.  When the resolver
Packit 8fb591
has traversed the list 'attempts' times without receiving
Packit 8fb591
any response, it gives up and returns an error to the
Packit 8fb591
calling application.
Packit 8fb591
Packit 8fb591
Implementations MAY limit the number of entries in this
Packit 8fb591
list.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <leaf name="name">
Packit 8fb591
          <type name="string"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>An arbitrary name for the DNS server.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
        <choice name="transport">
Packit 8fb591
          <mandatory value="true"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The transport-protocol-specific parameters for this
Packit 8fb591
server.</text>
Packit 8fb591
          </description>
Packit 8fb591
          <case name="udp-and-tcp">
Packit 8fb591
            <container name="udp-and-tcp">
Packit 8fb591
              <description>
Packit 8fb591
                <text>Contains UDP- and TCP-specific configuration
Packit 8fb591
parameters for DNS.</text>
Packit 8fb591
              </description>
Packit 8fb591
              <reference>
Packit 8fb591
                <text>RFC 1035: Domain Names - Implementation and
Packit 8fb591
          Specification
Packit 8fb591
RFC 5966: DNS Transport over TCP - Implementation
Packit 8fb591
          Requirements</text>
Packit 8fb591
              </reference>
Packit 8fb591
              <leaf name="address">
Packit 8fb591
                <type name="inet:ip-address"/>
Packit 8fb591
                <mandatory value="true"/>
Packit 8fb591
                <description>
Packit 8fb591
                  <text>The address of the DNS server.</text>
Packit 8fb591
                </description>
Packit 8fb591
              </leaf>
Packit 8fb591
              <leaf name="port">
Packit 8fb591
                <if-feature name="dns-udp-tcp-port"/>
Packit 8fb591
                <type name="inet:port-number"/>
Packit 8fb591
                <default value="53"/>
Packit 8fb591
                <description>
Packit 8fb591
                  <text>The UDP and TCP port number of the DNS server.</text>
Packit 8fb591
                </description>
Packit 8fb591
              </leaf>
Packit 8fb591
            </container>
Packit 8fb591
          </case>
Packit 8fb591
        </choice>
Packit 8fb591
      </list>
Packit 8fb591
      <container name="options">
Packit 8fb591
        <description>
Packit 8fb591
          <text>Resolver options.  The set of available options has been
Packit 8fb591
limited to those that are generally available across
Packit 8fb591
different resolver implementations and generally useful.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <leaf name="timeout">
Packit 8fb591
          <type name="uint8">
Packit 8fb591
            <range value="1..max"/>
Packit 8fb591
          </type>
Packit 8fb591
          <units name="seconds"/>
Packit 8fb591
          <default value="5"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The amount of time the resolver will wait for a
Packit 8fb591
response from each remote name server before
Packit 8fb591
retrying the query via a different name server.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
        <leaf name="attempts">
Packit 8fb591
          <type name="uint8">
Packit 8fb591
            <range value="1..max"/>
Packit 8fb591
          </type>
Packit 8fb591
          <default value="2"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The number of times the resolver will send a query to
Packit 8fb591
all of its name servers before giving up and returning
Packit 8fb591
an error to the calling application.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
      </container>
Packit 8fb591
    </container>
Packit 8fb591
    <container name="radius">
Packit 8fb591
      <if-feature name="radius"/>
Packit 8fb591
      <description>
Packit 8fb591
        <text>Configuration of the RADIUS client.</text>
Packit 8fb591
      </description>
Packit 8fb591
      <list name="server">
Packit 8fb591
        <key value="name"/>
Packit 8fb591
        <ordered-by value="user"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>List of RADIUS servers used by the device.
Packit 8fb591
Packit 8fb591
When the RADIUS client is invoked by a calling
Packit 8fb591
application, it sends the query to the first server in
Packit 8fb591
this list.  If no response has been received within
Packit 8fb591
'timeout' seconds, the client continues with the next
Packit 8fb591
server in the list.  If no response is received from any
Packit 8fb591
server, the client continues with the first server again.
Packit 8fb591
When the client has traversed the list 'attempts' times
Packit 8fb591
without receiving any response, it gives up and returns an
Packit 8fb591
error to the calling application.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <leaf name="name">
Packit 8fb591
          <type name="string"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>An arbitrary name for the RADIUS server.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
        <choice name="transport">
Packit 8fb591
          <mandatory value="true"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The transport-protocol-specific parameters for this
Packit 8fb591
server.</text>
Packit 8fb591
          </description>
Packit 8fb591
          <case name="udp">
Packit 8fb591
            <container name="udp">
Packit 8fb591
              <description>
Packit 8fb591
                <text>Contains UDP-specific configuration parameters
Packit 8fb591
for RADIUS.</text>
Packit 8fb591
              </description>
Packit 8fb591
              <leaf name="address">
Packit 8fb591
                <type name="inet:host"/>
Packit 8fb591
                <mandatory value="true"/>
Packit 8fb591
                <description>
Packit 8fb591
                  <text>The address of the RADIUS server.</text>
Packit 8fb591
                </description>
Packit 8fb591
              </leaf>
Packit 8fb591
              <leaf name="authentication-port">
Packit 8fb591
                <type name="inet:port-number"/>
Packit 8fb591
                <default value="1812"/>
Packit 8fb591
                <description>
Packit 8fb591
                  <text>The port number of the RADIUS server.</text>
Packit 8fb591
                </description>
Packit 8fb591
              </leaf>
Packit 8fb591
              <leaf name="shared-secret">
Packit 8fb591
                <type name="string"/>
Packit 8fb591
                <mandatory value="true"/>
Packit 8fb591
                <nacm:default-deny-all/>
Packit 8fb591
                <description>
Packit 8fb591
                  <text>The shared secret, which is known to both the
Packit 8fb591
RADIUS client and server.</text>
Packit 8fb591
                </description>
Packit 8fb591
                <reference>
Packit 8fb591
                  <text>RFC 2865: Remote Authentication Dial In User
Packit 8fb591
          Service (RADIUS)</text>
Packit 8fb591
                </reference>
Packit 8fb591
              </leaf>
Packit 8fb591
            </container>
Packit 8fb591
          </case>
Packit 8fb591
        </choice>
Packit 8fb591
        <leaf name="authentication-type">
Packit 8fb591
          <type name="identityref">
Packit 8fb591
            <base name="radius-authentication-type"/>
Packit 8fb591
          </type>
Packit 8fb591
          <default value="radius-pap"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The authentication type requested from the RADIUS
Packit 8fb591
server.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
      </list>
Packit 8fb591
      <container name="options">
Packit 8fb591
        <description>
Packit 8fb591
          <text>RADIUS client options.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <leaf name="timeout">
Packit 8fb591
          <type name="uint8">
Packit 8fb591
            <range value="1..max"/>
Packit 8fb591
          </type>
Packit 8fb591
          <units name="seconds"/>
Packit 8fb591
          <default value="5"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The number of seconds the device will wait for a
Packit 8fb591
response from each RADIUS server before trying with a
Packit 8fb591
different server.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
        <leaf name="attempts">
Packit 8fb591
          <type name="uint8">
Packit 8fb591
            <range value="1..max"/>
Packit 8fb591
          </type>
Packit 8fb591
          <default value="2"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The number of times the device will send a query to
Packit 8fb591
all of its RADIUS servers before giving up.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
      </container>
Packit 8fb591
    </container>
Packit 8fb591
    <container name="authentication">
Packit 8fb591
      <nacm:default-deny-write/>
Packit 8fb591
      <if-feature name="authentication"/>
Packit 8fb591
      <description>
Packit 8fb591
        <text>The authentication configuration subtree.</text>
Packit 8fb591
      </description>
Packit 8fb591
      <leaf-list name="user-authentication-order">
Packit 8fb591
        <type name="identityref">
Packit 8fb591
          <base name="authentication-method"/>
Packit 8fb591
        </type>
Packit 8fb591
        <must condition='(. != "sys:radius" or ../../radius/server)'>
Packit 8fb591
          <error-message>
Packit 8fb591
            <value>When 'radius' is used, a RADIUS server must be configured.</value>
Packit 8fb591
          </error-message>
Packit 8fb591
          <description>
Packit 8fb591
            <text>When 'radius' is used as an authentication method,
Packit 8fb591
a RADIUS server must be configured.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </must>
Packit 8fb591
        <ordered-by value="user"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>When the device authenticates a user with a password,
Packit 8fb591
it tries the authentication methods in this leaf-list in
Packit 8fb591
order.  If authentication with one method fails, the next
Packit 8fb591
method is used.  If no method succeeds, the user is
Packit 8fb591
denied access.
Packit 8fb591
Packit 8fb591
An empty user-authentication-order leaf-list still allows
Packit 8fb591
authentication of users using mechanisms that do not
Packit 8fb591
involve a password.
Packit 8fb591
Packit 8fb591
If the 'radius-authentication' feature is advertised by
Packit 8fb591
the NETCONF server, the 'radius' identity can be added to
Packit 8fb591
this list.
Packit 8fb591
Packit 8fb591
If the 'local-users' feature is advertised by the
Packit 8fb591
NETCONF server, the 'local-users' identity can be
Packit 8fb591
added to this list.</text>
Packit 8fb591
        </description>
Packit 8fb591
      </leaf-list>
Packit 8fb591
      <list name="user">
Packit 8fb591
        <if-feature name="local-users"/>
Packit 8fb591
        <key value="name"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>The list of local users configured on this device.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <leaf name="name">
Packit 8fb591
          <type name="string"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The user name string identifying this entry.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
        <leaf name="password">
Packit 8fb591
          <type name="ianach:crypt-hash"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>The password for this entry.</text>
Packit 8fb591
          </description>
Packit 8fb591
        </leaf>
Packit 8fb591
        <list name="authorized-key">
Packit 8fb591
          <key value="name"/>
Packit 8fb591
          <description>
Packit 8fb591
            <text>A list of public SSH keys for this user.  These keys
Packit 8fb591
are allowed for SSH authentication, as described in
Packit 8fb591
RFC 4253.</text>
Packit 8fb591
          </description>
Packit 8fb591
          <reference>
Packit 8fb591
            <text>RFC 4253: The Secure Shell (SSH) Transport Layer
Packit 8fb591
          Protocol</text>
Packit 8fb591
          </reference>
Packit 8fb591
          <leaf name="name">
Packit 8fb591
            <type name="string"/>
Packit 8fb591
            <description>
Packit 8fb591
              <text>An arbitrary name for the SSH key.</text>
Packit 8fb591
            </description>
Packit 8fb591
          </leaf>
Packit 8fb591
          <leaf name="algorithm">
Packit 8fb591
            <type name="string"/>
Packit 8fb591
            <mandatory value="true"/>
Packit 8fb591
            <description>
Packit 8fb591
              <text>The public key algorithm name for this SSH key.
Packit 8fb591
Packit 8fb591
Valid values are the values in the IANA 'Secure Shell
Packit 8fb591
(SSH) Protocol Parameters' registry, Public Key
Packit 8fb591
Algorithm Names.</text>
Packit 8fb591
            </description>
Packit 8fb591
            <reference>
Packit 8fb591
              <text>IANA 'Secure Shell (SSH) Protocol Parameters'
Packit 8fb591
registry, Public Key Algorithm Names</text>
Packit 8fb591
            </reference>
Packit 8fb591
          </leaf>
Packit 8fb591
          <leaf name="key-data">
Packit 8fb591
            <type name="binary"/>
Packit 8fb591
            <mandatory value="true"/>
Packit 8fb591
            <description>
Packit 8fb591
              <text>The binary public key data for this SSH key, as
Packit 8fb591
specified by RFC 4253, Section 6.6, i.e.:
Packit 8fb591
Packit 8fb591
  string    certificate or public key format
Packit 8fb591
            identifier
Packit 8fb591
  byte[n]   key/certificate data.</text>
Packit 8fb591
            </description>
Packit 8fb591
            <reference>
Packit 8fb591
              <text>RFC 4253: The Secure Shell (SSH) Transport Layer
Packit 8fb591
          Protocol</text>
Packit 8fb591
            </reference>
Packit 8fb591
          </leaf>
Packit 8fb591
        </list>
Packit 8fb591
      </list>
Packit 8fb591
    </container>
Packit 8fb591
  </container>
Packit 8fb591
  <container name="system-state">
Packit 8fb591
    <config value="false"/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>System group operational state.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <container name="platform">
Packit 8fb591
      <description>
Packit 8fb591
        <text>Contains vendor-specific information for
Packit 8fb591
identifying the system platform and operating system.</text>
Packit 8fb591
      </description>
Packit 8fb591
      <reference>
Packit 8fb591
        <text>IEEE Std 1003.1-2008 - sys/utsname.h</text>
Packit 8fb591
      </reference>
Packit 8fb591
      <leaf name="os-name">
Packit 8fb591
        <type name="string"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>The name of the operating system in use -
Packit 8fb591
for example, 'Linux'.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <reference>
Packit 8fb591
          <text>IEEE Std 1003.1-2008 - utsname.sysname</text>
Packit 8fb591
        </reference>
Packit 8fb591
      </leaf>
Packit 8fb591
      <leaf name="os-release">
Packit 8fb591
        <type name="string"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>The current release level of the operating
Packit 8fb591
system in use.  This string MAY indicate
Packit 8fb591
the OS source code revision.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <reference>
Packit 8fb591
          <text>IEEE Std 1003.1-2008 - utsname.release</text>
Packit 8fb591
        </reference>
Packit 8fb591
      </leaf>
Packit 8fb591
      <leaf name="os-version">
Packit 8fb591
        <type name="string"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>The current version level of the operating
Packit 8fb591
system in use.  This string MAY indicate
Packit 8fb591
the specific OS build date and target variant
Packit 8fb591
information.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <reference>
Packit 8fb591
          <text>IEEE Std 1003.1-2008 - utsname.version</text>
Packit 8fb591
        </reference>
Packit 8fb591
      </leaf>
Packit 8fb591
      <leaf name="machine">
Packit 8fb591
        <type name="string"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>A vendor-specific identifier string representing
Packit 8fb591
the hardware in use.</text>
Packit 8fb591
        </description>
Packit 8fb591
        <reference>
Packit 8fb591
          <text>IEEE Std 1003.1-2008 - utsname.machine</text>
Packit 8fb591
        </reference>
Packit 8fb591
      </leaf>
Packit 8fb591
    </container>
Packit 8fb591
    <container name="clock">
Packit 8fb591
      <description>
Packit 8fb591
        <text>Monitoring of the system date and time properties.</text>
Packit 8fb591
      </description>
Packit 8fb591
      <leaf name="current-datetime">
Packit 8fb591
        <type name="yang:date-and-time"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>The current system date and time.</text>
Packit 8fb591
        </description>
Packit 8fb591
      </leaf>
Packit 8fb591
      <leaf name="boot-datetime">
Packit 8fb591
        <type name="yang:date-and-time"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>The system date and time when the system last restarted.</text>
Packit 8fb591
        </description>
Packit 8fb591
      </leaf>
Packit 8fb591
    </container>
Packit 8fb591
  </container>
Packit 8fb591
  <rpc name="set-current-datetime">
Packit 8fb591
    <nacm:default-deny-all/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>Set the /system-state/clock/current-datetime leaf
Packit 8fb591
to the specified value.
Packit 8fb591
Packit 8fb591
If the system is using NTP (i.e., /system/ntp/enabled
Packit 8fb591
is set to 'true'), then this operation will fail with
Packit 8fb591
error-tag 'operation-failed' and error-app-tag value of
Packit 8fb591
'ntp-active'.</text>
Packit 8fb591
    </description>
Packit 8fb591
    <input>
Packit 8fb591
      <leaf name="current-datetime">
Packit 8fb591
        <type name="yang:date-and-time"/>
Packit 8fb591
        <mandatory value="true"/>
Packit 8fb591
        <description>
Packit 8fb591
          <text>The current system date and time.</text>
Packit 8fb591
        </description>
Packit 8fb591
      </leaf>
Packit 8fb591
    </input>
Packit 8fb591
  </rpc>
Packit 8fb591
  <rpc name="system-restart">
Packit 8fb591
    <nacm:default-deny-all/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>Request that the entire system be restarted immediately.
Packit 8fb591
A server SHOULD send an rpc reply to the client before
Packit 8fb591
restarting the system.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </rpc>
Packit 8fb591
  <rpc name="system-shutdown">
Packit 8fb591
    <nacm:default-deny-all/>
Packit 8fb591
    <description>
Packit 8fb591
      <text>Request that the entire system be shut down immediately.
Packit 8fb591
A server SHOULD send an rpc reply to the client before
Packit 8fb591
shutting down the system.</text>
Packit 8fb591
    </description>
Packit 8fb591
  </rpc>
Packit 8fb591
</module>