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: <http://tools.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 XXXX; see
50 the RFC itself for full legal notices.";
52 // RFC Ed.: replace XXXX with actual RFC number and remove this
55 // RFC Ed.: remove this note
56 // Note: extracted from draft-ietf-netconf-yang-library-06.txt
58 // RFC Ed.: update the date below with the date of RFC publication
59 // and remove this note.
64 "RFC XXXX: YANG Module Library.";
71 // FIXME inline this union after https://bugs.opendaylight.org/show_bug.cgi?id=5826 is fixed
72 typedef optional-revision {
74 type revision-identifier;
75 type string { length 0; }
78 "The YANG module or submodule revision date.
79 A zero-length string is used if no revision statement
80 is present in the YANG module or submodule.";
83 typedef revision-identifier {
85 pattern '\d{4}-\d{2}-\d{2}';
88 "Represents a specific date in YYYY-MM-DD format.";
95 grouping module-list {
97 "The module data structure is represented as a grouping
98 so it can be reused in configuration or another monitoring
101 grouping common-leafs {
103 "Common parameters for YANG modules and submodules.";
106 type yang:yang-identifier;
108 "The YANG module or submodule name.";
111 type optional-revision;
115 grouping schema-leaf {
117 "Common schema leaf parameter for modules and submodules.";
122 "Contains a URL that represents the YANG schema
123 resource for this module or submodule.
125 This leaf will only be present if there is a URL
126 available for retrieval of the schema for this entry.";
133 "Each entry represents one revision of one module
134 currently supported by the server.";
143 "The XML namespace identifier for this module.";
146 type yang:yang-identifier;
148 "List of YANG feature names from this module that are
149 supported by the server, regardless whether they are
150 defined in the module or any included submodule.";
155 "List of YANG deviation module names and revisions
156 used by this server to modify the conformance of
157 the module associated with this entry. Note that
158 the same module can be used for deviations for
159 multiple modules, so the same entry MAY appear
160 within multiple 'module' entries.
162 The deviation module MUST be present in the 'module'
163 list, with the same name and revision values.
164 The 'conformance-type' value will be 'implement' for
165 the deviation module.";
168 leaf conformance-type {
172 "Indicates that the server implements one or more
173 protocol-accessible objects defined in the YANG module
174 identified in this entry. This includes deviation
175 statements defined in the module.
177 For YANG version 1.1 modules, there is at most one
178 module entry with conformance type 'implement' for a
179 particular module name, since YANG 1.1 requires that
180 at most one revision of a module is implemented.
182 For YANG version 1 modules, there SHOULD NOT be more
183 than one module entry for a particular module name.";
187 "Indicates that the server imports reusable definitions
188 from the specified revision of the module, but does
189 not implement any protocol accessible objects from
192 Multiple module entries for the same module name MAY
193 exist. This can occur if multiple modules import the
194 same module, but specify different revision-dates in
195 the import statements.";
200 "Indicates the type of conformance the server is claiming
201 for the YANG module identified by this entry.";
203 container submodules {
205 "Contains information about all the submodules used
206 by the parent module entry";
211 "Each entry represents one submodule within the
221 * Operational state data nodes
224 container modules-state {
227 "Contains YANG module monitoring information.";
233 "Contains a server-specific identifier representing
234 the current set of modules and submodules. The
235 server MUST change the value of this leaf if the
236 information represented by the 'module' list instances
247 notification yang-library-change {
249 "Generated when the set of modules and submodules supported
250 by the server has changed.";
253 path "/yanglib:modules-state/yanglib:module-set-id";
257 "Contains the module-set-id value representing the
258 set of modules and submodules supported at the server at
259 the time the notification is generated.";