1 module ietf-yang-library {
2 namespace "urn:ietf:params:xml:ns:yang:ietf-yang-library";
4 import ietf-yang-types {
7 import ietf-inet-types {
11 "IETF NETCONF (Network Configuration) Working Group";
13 "WG Web: <https://datatracker.ietf.org/wg/netconf/>
14 WG List: <mailto:netconf@ietf.org>
15 WG Chair: Mehmet Ersue
16 <mailto:mehmet.ersue@nsn.com>
17 WG Chair: Mahesh Jethanandani
18 <mailto:mjethanandani@gmail.com>
20 <mailto:andy@yumaworks.com>
21 Editor: Martin Bjorklund
22 <mailto:mbj@tail-f.com>
24 <mailto:kwatsen@juniper.net>";
26 "This module contains monitoring information about the YANG
27 modules and submodules that are used within a YANG-based
29 Copyright (c) 2016 IETF Trust and the persons identified as
30 authors of the code. All rights reserved.
31 Redistribution and use in source and binary forms, with or
32 without modification, is permitted pursuant to, and subject
33 to the license terms contained in, the Simplified BSD License
34 set forth in Section 4.c of the IETF Trust's Legal Provisions
35 Relating to IETF Documents
36 (http://trustee.ietf.org/license-info).
37 This version of this YANG module is part of RFC 7895; see
38 the RFC itself for full legal notices.";
43 "RFC 7895: YANG Module Library.";
48 typedef revision-identifier {
50 pattern '\d{4}-\d{2}-\d{2}';
53 "Represents a specific date in YYYY-MM-DD format.";
58 grouping module-list {
60 "The module data structure is represented as a grouping
61 so it can be reused in configuration or another monitoring
63 grouping common-leafs {
65 "Common parameters for YANG modules and submodules.";
67 type yang:yang-identifier;
69 "The YANG module or submodule name.";
73 type revision-identifier;
74 type string { length 0; }
77 "The YANG module or submodule revision date.
78 A zero-length string is used if no revision statement
79 is present in the YANG module or submodule.";
82 grouping schema-leaf {
84 "Common schema leaf parameter for modules and submodules.";
88 "Contains a URL that represents the YANG schema
89 resource for this module or submodule.
90 This leaf will only be present if there is a URL
91 available for retrieval of the schema for this entry.";
97 "Each entry represents one revision of one module
98 currently supported by the server.";
105 "The XML namespace identifier for this module.";
108 type yang:yang-identifier;
110 "List of YANG feature names from this module that are
111 supported by the server, regardless of whether they are
112 defined in the module or any included submodule.";
117 "List of YANG deviation module names and revisions
118 used by this server to modify the conformance of
119 the module associated with this entry. Note that
120 the same module can be used for deviations for
121 multiple modules, so the same entry MAY appear
122 within multiple 'module' entries.
123 The deviation module MUST be present in the 'module'
124 list, with the same name and revision values.
125 The 'conformance-type' value will be 'implement' for
126 the deviation module.";
129 leaf conformance-type {
133 "Indicates that the server implements one or more
134 protocol-accessible objects defined in the YANG module
135 identified in this entry. This includes deviation
136 statements defined in the module.
137 For YANG version 1.1 modules, there is at most one
138 module entry with conformance type 'implement' for a
139 particular module name, since YANG 1.1 requires that,
140 at most, one revision of a module is implemented.
141 For YANG version 1 modules, there SHOULD NOT be more
142 than one module entry for a particular module name.";
146 "Indicates that the server imports reusable definitions
147 from the specified revision of the module but does
148 not implement any protocol-accessible objects from
150 Multiple module entries for the same module name MAY
151 exist. This can occur if multiple modules import the
152 same module but specify different revision dates in
153 the import statements.";
158 "Indicates the type of conformance the server is claiming
159 for the YANG module identified by this entry.";
164 "Each entry represents one submodule within the
172 * Operational state data nodes
174 container modules-state {
177 "Contains YANG module monitoring information.";
182 "Contains a server-specific identifier representing
183 the current set of modules and submodules. The
184 server MUST change the value of this leaf if the
185 information represented by the 'module' list instances
193 notification yang-library-change {
195 "Generated when the set of modules and submodules supported
196 by the server has changed.";
199 path "/yanglib:modules-state/yanglib:module-set-id";
203 "Contains the module-set-id value representing the
204 set of modules and submodules supported at the server at
205 the time the notification is generated.";