netconfcentral logo

yumaworks-yang-api@2015-06-19



  module yumaworks-yang-api {

    yang-version 1;

    namespace
      "http://yumaworks.com/ns/yumaworks-yang-api";

    prefix yapi;

    import ietf-inet-types {
      prefix inet;
    }
    import yuma-ncx {
      prefix ncx;
    }
    import yumaworks-extensions {
      prefix ywx;
    }

    organization "YumaWorks, Inc.";

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

    description
      "This module contains abstract object definitions for 
     the YANG-API protocol.";

    revision "2015-06-19" {
      description
        "Add yang leaf for root of schema retrieval for YANG-API";
    }

    revision "2013-12-14" {
      description
        "Remove unimplemented YANG extension";
    }

    revision "2013-10-14" {
      description
        "Add /yang-api/events to provide test SSE hook";
    }

    revision "2013-02-06" {
      description
        "Rewrite to match draft-bierman-netconf-yang-api-01.txt";
    }

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


    container yang-api {
      ncx:abstract;
      ncx:hidden;
      container datastore {
        ncx:root;
      }  // container datastore

      container modules {
        leaf-list module {
          type inet:uri;
        }
      }  // container modules

      container operations {
        ywx:rpc-root;
      }  // container operations

      leaf events {
        type empty;
      }

      leaf version {
        type string;
      }

      leaf yang {
        type empty;
      }
    }  // container yang-api

    container query {
      ncx:abstract;
      ncx:hidden;
      description
        "YANG-API Query String Parameters";
      leaf config {
        type boolean;
        default 'true';
        description
          "Get config true or config false nodes.";
      }

      leaf depth {
        type union {
          type enumeration {
            enum "unbounded" {
              value 0;
            }
          }
          type uint32 {
            range "1..max";
          }
        }
        default 'unbounded';
        description
          "Resource retrieval depth requested";
      }

      leaf format {
        type enumeration {
          enum "xml" {
            value 0;
          }
          enum "json" {
            value 1;
          }
        }
        default 'json';
        description
          "Response encoding requested";
      }

      leaf insert {
        type enumeration {
          enum "first" {
            value 0;
          }
          enum "last" {
            value 1;
          }
          enum "before" {
            value 2;
          }
          enum "after" {
            value 3;
          }
        }
        default 'last';
        description
          "Insert mode for an edit operation";
      }

      leaf point {
        ywx:urlpath;
        type string {
          length "1 .. max";
        }
        description
          "YANG-API instance identifier for the insertion point
         node for the edit operation.";
      }

      leaf select {
        type string {
          length "1 .. max";
        }
        description
          "An XPath expression that will be evaluated using the
         target resource instance as the context node and the
         document root. It is expected to return a node-set
         result representing the descendants within the context
         node that should be returned in a GET response.";
      }

      leaf test {
        type string {
          length "1 .. max";
        }
      }
    }  // container query
  }  // module yumaworks-yang-api