netconfcentral logo

yumaworks-extensions@2015-05-08



  module yumaworks-extensions {

    yang-version 1;

    namespace
      "http://yumaworks.com/ns/yumaworks-extensions";

    prefix ywx;

    organization "YumaWorks, Inc.";

    contact
      "Support <support@yumaworks.com>";

    description
      "This module contains definitions for YumaWorks YANG extensions.

     Copyright (c) 2012 - 2015 YumaWorks, Inc. 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 BSD 3-Clause License
     http://opensource.org/licenses/BSD-3-Clause";

    revision "2015-05-08" {
      description
        "Add sil-priority extension.";
    }

    revision "2014-08-10" {
      description
        "Add sil-force-replace-replay extension.";
    }

    revision "2014-06-05" {
      description
        "Add sil-force-replay extension.";
    }

    revision "2014-04-08" {
      description "Add datapath extension.";
    }

    revision "2013-11-23" {
      description
        "Add exclusive-rpc extension.";
    }

    revision "2013-05-30" {
      description
        "Fix some missing argument clauses in the documentation.
        Comment out notif-root and rpc-hook extensions for now because
        they are not used in YANG-API.";
    }

    revision "2013-01-27" {
      description
        "Add help string extension.";
    }

    revision "2012-06-28" {
      description "Initial version";
    }


    extension alt-name {
      argument "name" {
        yin-element false;
      }
      description
        "Used within a data node definition to specify an alternate
       name for the node.  The --alt-names parameter must
       be enabled for these names to be used.  The argument is the
       altername name to use.  It must be a valid YANG identifier.";
    }

    extension rpc-root {
      description
        "Used within a container definition to indicate it is
       really a root container for a conceptual NETCONF
       operations, instead of just a container. The container
       is expected to be empty.  Any top-level rpc-stmt can
       be specified using a QName value with the same module
       and local name as the RPC operation definition.
       This extension is reserved and only used by the server.";
    }

    extension urlpath {
      description
        "Used within a leaf or leaf-list definition to indicate it is
       really a REST URI path string, not a plain string.";
    }

    extension cli-text-block {
      description
        "If this extension is present in an empty container
       or list, it will be treated in unit-test parsing as a
       container or list of ordered text commands, 1 per line.
       Line extension is needed to wrap a command into
       many lines.

       Example YANG:

        container setup {
           ywx:cli-text-block;
        }

       Example test script or conf file usage:

        setup {
          run test1-script
          get-config source=running
          lock target=candidate
        }
      ";
    }

    extension help {
      argument "helptext" {
        yin-element true;
      }
      description
        "Used within a rpc or data definition statement to
       provide a short help text string for CLI
       and other applications to use in addition to
       the description statement.

       The 'helptext' argument is the help text string,
       which should be 60 characters or less in length.";
    }

    extension exclusive-rpc {
      description
        "Used within an rpc definition statement to
       indicate that the RPC is not allowed to be called
       concurrently by different sessions.  The server will
       return an in-use error if another session is currently
       invoking the RPC operation and this extension is present
       in the rpc-stmt.";
    }

    extension datapath {
      description
        "Used within a container or anyxml definition to indicate
       that the object path for the data node should be sent
       in the value as an attribute.  The SIL-SA parser will use
       the datapath attribute to select the object template
       to use for parsing, instead of generic anyxml.

          anyxml newval {
            ywx:datapath;
          }
          anyxml curval {
            ywx:datapath;
          }

          If /foo/bar/leaf2 is edited, the <edit> message
          will be generated with the datapath attribute
          from the yumaworks-attrs module.

           <newval ywattrs:datapath='/foo/bar/leaf2'>42</newval>
           <curval ywattrs:datapath='/foo/bar/leaf2'>67</curval>
      ";
    }

    extension sil-force-replay {
      description
        "Used within a configuration data node definition statement
       to indicate that the SIL (or SIL-SA) callback should be
       invoked even for nodes that are not changing.  At least
       one descendant-or-self node must be changing in order
       for any of the SIL callbacks for unchanged sibling nodes
       to be invoked.";
    }

    extension sil-force-replace-replay {
      description
        "Used within a configuration data node definition statement
       to indicate that the SIL (or SIL-SA) callback should be
       invoked even for nodes that are not changing, during a
       replace operation.  All SIL callbacks for child nodes
       in the replace request (where the parent node contains
       this extension) will be invoked during edit processing.

       If this extension is used within a list statement, then
       SIL callbacks for all instances of the list that are
       provided in the replace operation will be invoked.";
    }

    extension sil-priority {
      argument "prio" {
        yin-element false;
      }
      description
        "Used to control the order that SIL or SIL-SA callbacks
       are invoked for specific objects.

       If this extension is used within a configuration database
       object then the SIL priority for the object will be assigned
       the value of the 'prio' argument.

       Only the order of the 'apply', 'commit' and 'rollback'
       callback phases will be affected by this parameter.
       The 'validate' phase callbacks are invoked in the
       order they appear in the edit request.

       The 'prio' argument must be a number between 1 and 255.
       If two objects are edited in the same edit request, the
       the one with the lowest SIL priority number will be
       executed first.

       If no sil-priority is set for an object, then the value
       of its nearest ancestor with the sil-priority extension
       set will be used. If there is none, the the default
       value of '255' will be used.

       If the SIL priority is the same for two objects in the
       same edit request, then the server will pick an order
       in an implementation-specific manner.";
    }
  }  // module yumaworks-extensions