netconfcentral logo

yuma-system

HTML

yuma-system.yang



   module yuma-system {

      yang-version 1;

      namespace
         "http://netconfcentral.org/ns/yuma-system";

      prefix "sys";

      import ietf-inet-types {
         prefix "inet";
      }
      import ietf-yang-types {
         prefix "yang";
      }
      import yuma-netconf {
         prefix "nc";
      }
      import notifications {
         prefix "notif";
      }
      import yuma-app-common {
         prefix "yumaapp";
      }
      import yuma-types {
         prefix "nt";
      }
      import yuma-ncx {
         prefix "ncx";
      }
      import yuma-nacm {
         prefix "nacm";
      }

      organization "Netconf Central";

      contact
         "Andy Bierman <andy@netconfcentral.org>.";

      description "NETCONF Basic System Group.";

      revision "2010-05-24" {
         description
            "Change SessionId to standard session-id-type.";
      }

      revision "2009-12-27" {
         description "Initial version.";
      }


      grouping SysCommonSessionParms {
         leaf userName {
            type string;
            description "Name of the user for the session.";
         }

         leaf sessionId {
            type nc:session-id-type;
            mandatory "true";
            description "Identifier of the session.";
         }

         leaf remoteHost {
            type inet:ip-address;
            description
               "Address of the remote host for the session.";
         }
      }  // grouping SysCommonSessionParms

      container system {
         config "false";
         description
            "Basic objects for NETCONF system status.";
         leaf sysName {
            type string;
            description "The system name.";
            reference
               "RFC 3418, sysName object";

         }

         leaf sysCurrentDateTime {
            type yang:date-and-time;
            description "The current system date and time.";
         }

         leaf sysBootDateTime {
            type yang:date-and-time;
            description
               "The system date and time when the system 
               last restarted.";
         }

         leaf sysLogLevel {
            type nt:NcDebugType;
            description
               "The current system logging verbosity level.";
         }

         leaf sysNetconfServerId {
            type string;
            description
               "The name and version ID for the NETCONF server
               running on this system.";
         }

         container uname {
            description
               "Contains the broken out fields from the 
               output of the 'uname' command on this machine.";
            leaf sysname {
               type string;
               description
                  "The name of the operating system in use.";
            }

            leaf release {
               type string;
               description
                  "The current release level of the operating 
                   system in use.";
            }

            leaf version {
               type string;
               description
                  "The current version level of the operating 
                   system in use.";
            }

            leaf machine {
               type string;
               description "A description of the hardware in use.";
            }

            leaf nodename {
               type string;
               description
                  "The host name of this system, as reported by
                  the uname command.";
            }
         }  // container uname
      }  // container system

      rpc set-log-level {
         description "Sets the server log verbosity level";
         input {
            leaf log-level {
               type nt:NcDebugType;
               mandatory "true";
               description
                  "The desired verbosity level for system logging
                  messages generated by the server.
                  The current value can be obtained by retrieving
                  the /system/sysLogLevel object.";
            }
            ncx:default-parm "log-level";
         }
         nacm:secure;
      }  // rpc set-log-level

      notification sysStartup {
         description
            "Generated when the system restarts.
            Used for logging purposes, since no
            sessions are actually active when
            the system restarts.";
         leaf startupSource {
            type string;
            description
               "The filespec used to load the running configuration.
               This leaf will only be present if there was a startup
               configuration file used.";
         }

         list bootError {
            description
               "There will be one entry for each <rpc-error>
               encountered during the load config operation.
               The <rpc-error> fields are used directly.
               There is no particular order, so no key is defined.";
            uses nc:RpcErrorType;
         }  // list bootError
      }  // notification sysStartup

      notification sysConfigChange {
         description
            "Generated when the <running> configuration is changed.";
         uses SysCommonSessionParms;

         list edit {
            description
               "An edit record will be present for each distinct
               edit operation on the running config.";
            leaf target {
               type instance-identifier;
               description
                  "Topmost node associated with the configuration change.";
            }

            leaf operation {
               type nc:EditOperationType;
               description "Type of edit operation performed.";
            }
         }  // list edit
      }  // notification sysConfigChange

      notification sysCapabilityChange {
         description
            "Generated when a <capability> is added or deleted.";
         container changed-by {
            description
               "Indicates who caused this capability change.
               If caused by internal action, then the
               empty leaf 'server' will be present.
               If caused by a management session, then
               the name, remote host address, and session ID
               of the session that made the change will be reported.";
            choice server-or-user {
               leaf server {
                  type empty;
                  description
                     "The capability change was caused by the server.";
               }

               case by-user {
                  uses SysCommonSessionParms;
               }  // case by-user
            }  // choice server-or-user
         }  // container changed-by

         leaf-list added-capability {
            type inet:uri;
            description
               "List of capabilities that have been just added.";
         }

         leaf-list deleted-capability {
            type inet:uri;
            description
               "List of capabilities that have been just deleted.";
         }
      }  // notification sysCapabilityChange

      notification sysSessionStart {
         description
            "Generated when a new management session is started.";
         uses SysCommonSessionParms;
      }  // notification sysSessionStart

      notification sysSessionEnd {
         description
            "Generated when a management session is terminated.";
         uses SysCommonSessionParms;

         leaf killedBy {
            when "../terminationReason = 'killed'";
            type nc:session-id-type;
            description
               "Session ID that issued the <kill-session>,
               if the session was terminated by this operation.";
         }

         leaf terminationReason {
            type enumeration {
               enum "closed" {
                  value 0;
                  description
                     "The session was terminated with 
                     the <close-session> operation.";
               }
               enum "killed" {
                  value 1;
                  description
                     "The session was terminated with 
                     the <kill-session> operation.";
               }
               enum "dropped" {
                  value 2;
                  description
                     "The session was terminated because
                     the SSH session or TCP connection was
                     unexpectedly closed.";
               }
               enum "timeout" {
                  value 3;
                  description
                     "The session was terminated because
                     of inactivity, either waiting for
                     the <hello> or <rpc> PDUs.";
               }
               enum "bad-start" {
                  value 4;
                  description "The session startup sequence failed.";
               }
               enum "bad-hello" {
                  value 5;
                  description
                     "The client's <hello> message was 
                     bad or never arrived.";
               }
               enum "other" {
                  value 6;
                  description
                     "The session was terminated for
                     some other reason.";
               }
            }
            mandatory "true";
            description "Reason the session was terminated.";
         }
      }  // notification sysSessionEnd

      notification sysConfirmedCommit {
         description
            "Generated when a confirmed-commit event occurs.";
         uses SysCommonSessionParms;

         leaf confirmEvent {
            type enumeration {
               enum "start" {
                  value 0;
                  description
                     "The confirm-commit procedure has started.";
               }
               enum "cancel" {
                  value 1;
                  description
                     "The confirm-commit procedure has been canceled,
                     due to the session being terminated.";
               }
               enum "timeout" {
                  value 2;
                  description
                     "The confirm-commit procedure has been canceled,
                     due to the confirm-timeout interval expiring.
                     The common session parameters will not be present
                     in this sub-mode.";
               }
               enum "extend" {
                  value 3;
                  description
                     "The confirm-commit timeout has been extended.";
               }
               enum "complete" {
                  value 4;
                  description
                     "The confirm-commit procedure has been completed.";
               }
            }
            mandatory "true";
            description
               "Indicates the event that caused the notification.";
         }
      }  // notification sysConfirmedCommit

      augment /notif:notification {
         leaf sequence-id {
            type uint32;
            description
               "Global auto-increment sequence ID added to
               each notification element sent by netconfd";
         }
      }

      rpc load {
         description
            "Load a module into the server, if it is not already loaded.
            Returns the module revision date (or today's date if none),
            of the module that was loaded, or an error if not found
            or the module found had errors and was not loaded
            successfully.  If the module is already loaded, then the
            revision date will simply be returned.";
         input {
            leaf module {
               type nt:NcxName;
               mandatory "true";
               description "Name of the module to load.";
            }

            leaf revision {
               type nt:Date;
               description "Module revision to load.";
            }

            uses yumaapp:DeviationParm;
            ncx:default-parm "module";
         }

         output {
            leaf mod-revision {
               type nt:Date;
               description
                  "Revision date of the module in use by the server.
                  Will only be present if the module has a version";
            }
         }
         nacm:secure;
      }  // rpc load

      rpc restart {
         description
            "Restart the server. Does not reload the software image..";
         nacm:secure;
      }  // rpc restart

      rpc shutdown {
         description "Shutdown the server.";
         nacm:secure;
      }  // rpc shutdown

      rpc no-op {
         description
            "Just returns 'ok'. Used for debugging
            or relative performance measurements.";
      }  // rpc no-op
   }  // module yuma-system

Summary

  
  
Organization Netconf Central
  
Module yuma-system
Version 2010-05-24
File yuma-system.yang
  
Prefix sys
Namespace http://netconfcentral.org/ns/yuma-system
  
Cooked /cookedmodules/yuma-system/2010-05-24
YANG /src/yuma-system@2010-05-24.yang
XSD /xsd/yuma-system@2010-05-24.xsd
  
Abstract NETCONF Basic System Group.
  
Contact
Andy Bierman <andy@netconfcentral.org>.

Description

 
NETCONF Basic System Group.

Groupings

Grouping Objects Abstract
SysCommonSessionParms userName sessionId remoteHost

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
system container Basic objects for NETCONF system status.
   sysBootDateTime leaf The system date and time when the system last restarted.
   sysCurrentDateTime leaf The current system date and time.
   sysLogLevel leaf The current system logging verbosity level.
   sysName leaf The system name.
   sysNetconfServerId leaf The name and version ID for the NETCONF server running on this system.
   uname container Contains the broken out fields from the output of the 'uname' command on this machine.
      machine leaf A description of the hardware in use.
      nodename leaf The host name of this system, as reported by the uname command.
      release leaf The current release level of the operating system in use.
      sysname leaf The name of the operating system in use.
      version leaf The current version level of the operating system in use.

RPC Methods

RPC Abstract
load Load a module into the server, if it is not already loaded. Returns the module revision date (or today's date if none), of the module that was loaded, or an error if not found or the module found had errors and was not loaded successfully. If the module ...
no-op Just returns 'ok'. Used for debugging or relative performance measurements.
restart Restart the server. Does not reload the software image..
set-log-level Sets the server log verbosity level
shutdown Shutdown the server.

Notifications

Notification Abstract
sysCapabilityChange Generated when a <capability> is added or deleted.
sysConfigChange Generated when the <running> configuration is changed.
sysConfirmedCommit Generated when a confirmed-commit event occurs.
sysSessionEnd Generated when a management session is terminated.
sysSessionStart Generated when a new management session is started.
sysStartup Generated when the system restarts. Used for logging purposes, since no sessions are actually active when the system restarts.