1 module ietf-yang-library {
2 namespace "urn:ietf:params:xml:ns:yang:ietf-yang-library";
5 import ietf-yang-types {
8 import ietf-inet-types {
13 "IETF NETCONF (Network Configuration) Working Group";
16 "WG Web: <https://datatracker.ietf.org/wg/netconf/>
17 WG List: <mailto:netconf@ietf.org>
19 WG Chair: Mehmet Ersue
20 <mailto:mehmet.ersue@nsn.com>
22 WG Chair: Mahesh Jethanandani
23 <mailto:mjethanandani@gmail.com>
26 <mailto:andy@yumaworks.com>
28 Editor: Martin Bjorklund
29 <mailto:mbj@tail-f.com>
32 <mailto:kwatsen@juniper.net>";
35 "This module contains monitoring information about the YANG
36 modules and submodules that are used within a YANG-based
39 Copyright (c) 2016 IETF Trust and the persons identified as
40 authors of the code. All rights reserved.
42 Redistribution and use in source and binary forms, with or
43 without modification, is permitted pursuant to, and subject
44 to the license terms contained in, the Simplified BSD License
45 set forth in Section 4.c of the IETF Trust's Legal Provisions
46 Relating to IETF Documents
47 (http://trustee.ietf.org/license-info).
49 This version of this YANG module is part of RFC 7895; see
50 the RFC itself for full legal notices.";
56 "RFC 7895: YANG Module Library.";
63 typedef revision-identifier {
65 pattern '\d{4}-\d{2}-\d{2}';
68 "Represents a specific date in YYYY-MM-DD format.";
75 grouping module-list {
77 "The module data structure is represented as a grouping
78 so it can be reused in configuration or another monitoring
81 grouping common-leafs {
83 "Common parameters for YANG modules and submodules.";
86 type yang:yang-identifier;
88 "The YANG module or submodule name.";
92 type revision-identifier;
93 type string { length 0; }
96 "The YANG module or submodule revision date.
97 A zero-length string is used if no revision statement
98 is present in the YANG module or submodule.";
102 grouping schema-leaf {
104 "Common schema leaf parameter for modules and submodules.";
109 "Contains a URL that represents the YANG schema
110 resource for this module or submodule.
112 This leaf will only be present if there is a URL
113 available for retrieval of the schema for this entry.";
120 "Each entry represents one revision of one module
121 currently supported by the server.";
130 "The XML namespace identifier for this module.";
133 type yang:yang-identifier;
135 "List of YANG feature names from this module that are
136 supported by the server, regardless of whether they are
137 defined in the module or any included submodule.";
142 "List of YANG deviation module names and revisions
143 used by this server to modify the conformance of
144 the module associated with this entry. Note that
145 the same module can be used for deviations for
146 multiple modules, so the same entry MAY appear
147 within multiple 'module' entries.
149 The deviation module MUST be present in the 'module'
150 list, with the same name and revision values.
151 The 'conformance-type' value will be 'implement' for
152 the deviation module.";
155 leaf conformance-type {
159 "Indicates that the server implements one or more
160 protocol-accessible objects defined in the YANG module
161 identified in this entry. This includes deviation
162 statements defined in the module.
164 For YANG version 1.1 modules, there is at most one
165 module entry with conformance type 'implement' for a
166 particular module name, since YANG 1.1 requires that,
167 at most, one revision of a module is implemented.
169 For YANG version 1 modules, there SHOULD NOT be more
170 than one module entry for a particular module name.";
174 "Indicates that the server imports reusable definitions
175 from the specified revision of the module but does
176 not implement any protocol-accessible objects from
179 Multiple module entries for the same module name MAY
180 exist. This can occur if multiple modules import the
181 same module but specify different revision dates in
182 the import statements.";
187 "Indicates the type of conformance the server is claiming
188 for the YANG module identified by this entry.";
193 "Each entry represents one submodule within the
202 * Operational state data nodes
205 container modules-state {
208 "Contains YANG module monitoring information.";
214 "Contains a server-specific identifier representing
215 the current set of modules and submodules. The
216 server MUST change the value of this leaf if the
217 information represented by the 'module' list instances
228 notification yang-library-change {
230 "Generated when the set of modules and submodules supported
231 by the server has changed.";
234 path "/yanglib:modules-state/yanglib:module-set-id";
238 "Contains the module-set-id value representing the
239 set of modules and submodules supported at the server at
240 the time the notification is generated.";