netconfcentral logo

ietf-yang-library

HTML

ietf-yang-library@2016-06-21



  module ietf-yang-library {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-yang-library";

    prefix yanglib;

    import ietf-yang-types {
      prefix yang;
    }
    import ietf-inet-types {
      prefix inet;
    }

    organization
      "IETF NETCONF (Network Configuration) Working Group";

    contact
      "WG Web:   <https://datatracker.ietf.org/wg/netconf/>
     WG List:  <mailto:netconf@ietf.org>

     WG Chair: Mehmet Ersue
               <mailto:mehmet.ersue@nsn.com>

     WG Chair: Mahesh Jethanandani
               <mailto:mjethanandani@gmail.com>

     Editor:   Andy Bierman
               <mailto:andy@yumaworks.com>

     Editor:   Martin Bjorklund
               <mailto:mbj@tail-f.com>

     Editor:   Kent Watsen
               <mailto:kwatsen@juniper.net>";

    description
      "This module contains monitoring information about the YANG
     modules and submodules that are used within a YANG-based
     server.

     Copyright (c) 2016 IETF Trust and the persons identified as
     authors of the code.  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 7895; see
     the RFC itself for full legal notices.";

    revision "2016-06-21" {
      description "Initial revision.";
      reference
        "RFC 7895: YANG Module Library.";

    }


    typedef revision-identifier {
      type string {
        pattern '\d{4}-\d{2}-\d{2}';
      }
      description
        "Represents a specific date in YYYY-MM-DD format.";
    }

    grouping module-list {
      description
        "The module data structure is represented as a grouping
       so it can be reused in configuration or another monitoring
       data structure.";
      grouping common-leafs {
        description
          "Common parameters for YANG modules and submodules.";
        leaf name {
          type yang:yang-identifier;
          description
            "The YANG module or submodule name.";
        }

        leaf revision {
          type union {
            type revision-identifier;
            type string {
              length "0";
            }
          }
          description
            "The YANG module or submodule revision date.
           A zero-length string is used if no revision statement
           is present in the YANG module or submodule.";
        }
      }  // grouping common-leafs

      grouping schema-leaf {
        description
          "Common schema leaf parameter for modules and submodules.";
        leaf schema {
          type inet:uri;
          description
            "Contains a URL that represents the YANG schema
           resource for this module or submodule.

           This leaf will only be present if there is a URL
           available for retrieval of the schema for this entry.";
        }
      }  // grouping schema-leaf
      list module {
        key "name revision";
        description
          "Each entry represents one revision of one module
         currently supported by the server.";
        uses common-leafs;

        uses schema-leaf;

        leaf namespace {
          type inet:uri;
          mandatory true;
          description
            "The XML namespace identifier for this module.";
        }

        leaf-list feature {
          type yang:yang-identifier;
          description
            "List of YANG feature names from this module that are
           supported by the server, regardless of whether they are
           defined in the module or any included submodule.";
        }

        list deviation {
          key "name revision";
          description
            "List of YANG deviation module names and revisions
           used by this server to modify the conformance of
           the module associated with this entry.  Note that
           the same module can be used for deviations for
           multiple modules, so the same entry MAY appear
           within multiple 'module' entries.

           The deviation module MUST be present in the 'module'
           list, with the same name and revision values.
           The 'conformance-type' value will be 'implement' for
           the deviation module.";
          uses common-leafs;
        }  // list deviation

        leaf conformance-type {
          type enumeration {
            enum "implement" {
              value 0;
              description
                "Indicates that the server implements one or more
               protocol-accessible objects defined in the YANG module
               identified in this entry.  This includes deviation
               statements defined in the module.

               For YANG version 1.1 modules, there is at most one
               module entry with conformance type 'implement' for a
               particular module name, since YANG 1.1 requires that,
               at most, one revision of a module is implemented.

               For YANG version 1 modules, there SHOULD NOT be more
               than one module entry for a particular module name.";
            }
            enum "import" {
              value 1;
              description
                "Indicates that the server imports reusable definitions
               from the specified revision of the module but does
               not implement any protocol-accessible objects from
               this revision.

               Multiple module entries for the same module name MAY
               exist.  This can occur if multiple modules import the
               same module but specify different revision dates in
               the import statements.";
            }
          }
          mandatory true;
          description
            "Indicates the type of conformance the server is claiming
           for the YANG module identified by this entry.";
        }

        list submodule {
          key "name revision";
          description
            "Each entry represents one submodule within the
           parent module.";
          uses common-leafs;

          uses schema-leaf;
        }  // list submodule
      }  // list module
    }  // grouping module-list

    container modules-state {
      config false;
      description
        "Contains YANG module monitoring information.";
      leaf module-set-id {
        type string;
        mandatory true;
        description
          "Contains a server-specific identifier representing
         the current set of modules and submodules.  The
         server MUST change the value of this leaf if the
         information represented by the 'module' list instances
         has changed.";
      }

      uses module-list;
    }  // container modules-state

    notification yang-library-change {
      description
        "Generated when the set of modules and submodules supported
       by the server has changed.";
      leaf module-set-id {
        type leafref {
          path "/yanglib:modules-state/yanglib:module-set-id";
        }
        mandatory true;
        description
          "Contains the module-set-id value representing the
         set of modules and submodules supported at the server at
         the time the notification is generated.";
      }
    }  // notification yang-library-change
  }  // module ietf-yang-library

Summary

  
ietf-yang-library  
  
Organization IETF NETCONF (Network Configuration) Working Group
  
Module ietf-yang-library
Version 2019-01-04
File ietf-yang-library@2019-01-04.yang
  
Prefix yanglib
Namespace urn:ietf:params:xml:ns:yang:ietf-yang-library
  
Cooked /cookedmodules/ietf-yang-library/2019-01-04
YANG /src/ietf-yang-library@2019-01-04.yang
XSD /xsd/ietf-yang-library@2019-01-04.xsd
  
Abstract This module provides information about the YANG modules, datastores, and datastore schemas used by a network management server. ...
  
Contact
WG Web:   <https://datatracker.ietf.org/wg/netconf/>
WG List:  <mailto:netconf@ietf.org>

Author:   Andy Bierman
	  <mailto:andy@yumaworks.com>

Author:   Martin Bjorklund
	  <mailto:mbj@tail-f.com>

Author:   Juergen Schoenwaelder
	  <mailto:j.schoenwaelder@jacobs-university.de>

Author:   Kent Watsen
	  <mailto:kent+ietf@watsen.net>

Author:   Robert Wilton
	  <mailto:rwilton@cisco.com>
  
ietf-yang-library  
  
Organization IETF NETCONF (Network Configuration) Working Group
  
Module ietf-yang-library
Version 2016-06-21
File ietf-yang-library@2016-06-21.yang
  
Prefix yanglib
Namespace urn:ietf:params:xml:ns:yang:ietf-yang-library
  
Cooked /cookedmodules/ietf-yang-library/2016-06-21
YANG /src/ietf-yang-library@2016-06-21.yang
XSD /xsd/ietf-yang-library@2016-06-21.xsd
  
Abstract This module contains monitoring information about the YANG modules and submodules that are used within a YANG-based server. Cop...
  
Contact
WG Web:   <https://datatracker.ietf.org/wg/netconf/>
WG List:  <mailto:netconf@ietf.org>

WG Chair: Mehmet Ersue
	  <mailto:mehmet.ersue@nsn.com>

WG Chair: Mahesh Jethanandani
	  <mailto:mjethanandani@gmail.com>

Editor:   Andy Bierman
	  <mailto:andy@yumaworks.com>

Editor:   Martin Bjorklund
	  <mailto:mbj@tail-f.com>

Editor:   Kent Watsen
	  <mailto:kwatsen@juniper.net>

Description

 
ietf-yang-library
This module provides information about the YANG modules,
datastores, and datastore schemas used by a network
management server.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here.

Copyright (c) 2019 IETF Trust and the persons identified as
authors of the code.  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
(https://trustee.ietf.org/license-info).

This version of this YANG module is part of RFC 8525; see
the RFC itself for full legal notices.
 
ietf-yang-library
This module contains monitoring information about the YANG
modules and submodules that are used within a YANG-based
server.

Copyright (c) 2016 IETF Trust and the persons identified as
authors of the code.  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 7895; see
the RFC itself for full legal notices.

Typedefs

Typedef Base type Abstract
revision-identifier string Represents a specific date in YYYY-MM-DD format.
revision-identifier string Represents a specific date in YYYY-MM-DD format.

Groupings

Grouping Objects Abstract
location-leaf-list location Common leaf-list parameter for the locations of modules and submodules.
module-identification-leafs name revision Parameters for identifying YANG modules and submodules.
module-implementation-parameters feature deviation Parameters for describing the implementation of a module.
module-list module The module data structure is represented as a grouping so it can be reused in configuration or another monitoring data structure.
module-list module The module data structure is represented as a grouping so it can be reused in configuration or another monitoring data structure.
module-set-parameters name module import-only-module A set of parameters that describe a module set.
yang-library-parameters module-set schema datastore The YANG library data structure is represented as a grouping so it can be reused in configuration or another monitoring data structure.

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
modules-state container Contains YANG module monitoring information.
modules-state container Contains YANG module monitoring information.
   module list Each entry represents one revision of one module currently supported by the server.
   module list Each entry represents one revision of one module currently supported by the server.
   module-set-id leaf Contains a server-specific identifier representing the current set of modules and submodules. The server MUST change the value of this leaf if the information represented by the 'module' list instances has changed.
   module-set-id leaf Contains a server-specific identifier representing the current set of modules and submodules. The server MUST change the value of this leaf if the information represented by the 'module' list instances has changed.
      conformance-type leaf Indicates the type of conformance the server is claiming for the YANG module identified by this entry.
      conformance-type leaf Indicates the type of conformance the server is claiming for the YANG module identified by this entry.
      deviation list List of YANG deviation module names and revisions used by this server to modify the conformance of the module associated with this entry. Note that the same module can be used for deviations for multiple modules, so the same entry MAY appear within multi...
      deviation list List of YANG deviation module names and revisions used by this server to modify the conformance of the module associated with this entry. Note that the same module can be used for deviations for multiple modules, so the same entry MAY appear within multi...
         name leaf The YANG module or submodule name.
         name leaf The YANG module or submodule name.
         revision leaf The YANG module or submodule revision date. A zero-length string is used if no revision statement is present in the YANG module or submodule.
         revision leaf The YANG module or submodule revision date. A zero-length string is used if no revision statement is present in the YANG module or submodule.
      feature leaf-list List of YANG feature names from this module that are supported by the server, regardless of whether they are defined in the module or any included submodule.
      feature leaf-list List of YANG feature names from this module that are supported by the server, regardless of whether they are defined in the module or any included submodule.
      name leaf The YANG module or submodule name.
      name leaf The YANG module or submodule name.
      namespace leaf The XML namespace identifier for this module.
      namespace leaf The XML namespace identifier for this module.
      revision leaf The YANG module or submodule revision date. A zero-length string is used if no revision statement is present in the YANG module or submodule.
      revision leaf The YANG module or submodule revision date. A zero-length string is used if no revision statement is present in the YANG module or submodule.
      schema leaf Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry.
      schema leaf Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry.
      submodule list Each entry represents one submodule within the parent module.
      submodule list Each entry represents one submodule within the parent module.
         name leaf The YANG module or submodule name.
         name leaf The YANG module or submodule name.
         revision leaf The YANG module or submodule revision date. A zero-length string is used if no revision statement is present in the YANG module or submodule.
         revision leaf The YANG module or submodule revision date. A zero-length string is used if no revision statement is present in the YANG module or submodule.
         schema leaf Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry.
         schema leaf Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry.
yang-library container Container holding the entire YANG library of this server.
   content-id leaf A server-generated identifier of the contents of the '/yang-library' tree. The server MUST change the value of this leaf if the information represented by the '/yang-library' tree, except '/yang-library/content-id', has changed.
   datastore list A datastore supported by this server. Each datastore indicates which schema it supports. The server MUST instantiate one entry in this list per specific datastore it supports. Each datastore entry with the same datastore schema SHOULD reference the same...
      name leaf The identity of the datastore.
      schema leaf A reference to the schema supported by this datastore. All non-import-only modules of the schema are implemented with their associated features and deviations.
   module-set list A set of modules that may be used by one or more schemas. A module set does not have to be referentially complete, i.e., it may define modules that contain import statements for other modules not included in the module set.
      import-only-module list An entry in this list indicates that the server imports reusable definitions from the specified revision of the module but does not implement any protocol-accessible objects from this revision. Multiple entries for the same module name MAY exist. This c...
         location leaf-list Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry.
         name leaf The YANG module name.
         namespace leaf The XML namespace identifier for this module.
         revision leaf The YANG module revision date. A zero-length string is used if no revision statement is present in the YANG module.
         submodule list Each entry represents one submodule within the parent module.
            location leaf-list Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry.
            name leaf The YANG module or submodule name.
            revision leaf The YANG module or submodule revision date. If no revision statement is present in the YANG module or submodule, this leaf is not instantiated.
      module list An entry in this list represents a module implemented by the server, as per Section 5.6.5 of RFC 7950, with a particular set of supported features and deviations.
         deviation leaf-list List of all YANG deviation modules used by this server to modify the conformance of the module associated with this entry. Note that the same module can be used for deviations for multiple modules, so the same entry MAY appear within multiple 'module' en...
         feature leaf-list List of all YANG feature names from this module that are supported by the server, regardless whether they are defined in the module or any included submodule.
         location leaf-list Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry.
         name leaf The YANG module or submodule name.
         namespace leaf The XML namespace identifier for this module.
         revision leaf The YANG module or submodule revision date. If no revision statement is present in the YANG module or submodule, this leaf is not instantiated.
         submodule list Each entry represents one submodule within the parent module.
            location leaf-list Contains a URL that represents the YANG schema resource for this module or submodule. This leaf will only be present if there is a URL available for retrieval of the schema for this entry.
            name leaf The YANG module or submodule name.
            revision leaf The YANG module or submodule revision date. If no revision statement is present in the YANG module or submodule, this leaf is not instantiated.
      name leaf An arbitrary name of the module set.
   schema list A datastore schema that may be used by one or more datastores. The schema must be valid and referentially complete, i.e., it must contain modules to satisfy all used import statements for all modules specified in the schema.
      module-set leaf-list A set of module-sets that are included in this schema. If a non-import-only module appears in multiple module sets, then the module revision and the associated features and deviations must be identical.
      name leaf An arbitrary name of the schema.

Notifications

Notification Abstract
yang-library-change Generated when the set of modules and submodules supported by the server has changed.
yang-library-change Generated when the set of modules and submodules supported by the server has changed.
yang-library-update Generated when any YANG library information on the server has changed.