1 <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-1">
2 <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring">module ietf-yang-library {
4 namespace "urn:ietf:params:xml:ns:yang:ietf-yang-library";
7 import ietf-yang-types {
10 "RFC 6991: Common YANG Data Types.";
13 import ietf-inet-types {
16 "RFC 6991: Common YANG Data Types.";
19 import ietf-datastores {
22 "I-D.ietf-revised-datastores:
23 Network Management Datastore Architecture.";
27 "IETF NETCONF (Network Configuration) Working Group";
29 "WG Web: <http://tools.ietf.org/wg/netconf/>
30 WG List: <mailto:netconf@ietf.org>
33 <mailto:andy@yumaworks.com>
35 Author: Martin Bjorklund
36 <mailto:mbj@tail-f.com>
39 <mailto:kwatsen@juniper.net>";
41 "This module contains information about the YANG server
42 instance, including the modules and datastores the
43 server supports, and which modules are present in
46 Copyright (c) 2017 IETF Trust and the persons identified as
47 authors of the code. All rights reserved.
49 Redistribution and use in source and binary forms, with or
50 without modification, is permitted pursuant to, and subject
51 to the license terms contained in, the Simplified BSD License
52 set forth in Section 4.c of the IETF Trust's Legal Provisions
53 Relating to IETF Documents
54 (http://trustee.ietf.org/license-info).
56 This version of this YANG module is part of RFC XXXX; see
57 the RFC itself for full legal notices.";
63 "RFC XXXX: YANG Library.";
69 "RFC 7895: YANG Module Library.";
72 typedef revision-identifier {
74 pattern "\\d{4}-\\d{2}-\\d{2}";
77 "Represents a specific date in YYYY-MM-DD format.";
80 grouping module-identification-leafs {
82 "Parameters for identifying YANG modules and submodules.";
84 type yang:yang-identifier;
87 "The YANG module or submodule name.";
92 type revision-identifier;
99 "The YANG module or submodule revision date.
100 A zero-length string is used if no revision statement
101 is present in the YANG module or submodule.";
105 grouping schema-leaf {
107 "Common schema leaf parameter for modules and submodules.";
111 "Contains a URL that represents the YANG schema
112 resource for this module or submodule.
113 This leaf will only be present if there is a URL
114 available for retrieval of the schema for this entry.";
118 grouping implementation-parameters {
120 "Parameters for describing the implementation of a module.";
122 type yang:yang-identifier;
124 "List of YANG feature names from this module that are
125 supported by the server, regardless whether they are defined
126 in the module or any included submodule.";
132 "List of YANG deviation module names and revisions used by
133 this server to modify the conformance of the module
134 associated with this entry. Note that the same module can
135 be used for deviations for multiple modules, so the same
136 entry MAY appear within multiple 'module' entries.
138 The deviation module MUST be present in the 'module' list,
139 with the same name and revision values. The
140 'conformance-type' value will be 'implement' for the
142 uses module-identification-leafs;
145 leaf conformance-type {
149 "Indicates that the server implements one or more
150 protocol-accessible objects defined in the YANG module
151 identified in this entry. This includes deviation
152 statements defined in the module.
154 For YANG version 1.1 modules, there is at most one
155 module entry with conformance type 'implement' for a
156 particular module name, since YANG 1.1 requires that at
157 most one revision of a module is implemented.
159 For YANG version 1 modules, there SHOULD NOT be more
160 than one module entry for a particular module name.";
164 "Indicates that the server imports reusable definitions
165 from the specified revision of the module, but does not
166 implement any protocol accessible objects from this
169 Multiple module entries for the same module name MAY
170 exist. This can occur if multiple modules import the
171 same module, but specify different revision-dates in the
177 "Indicates the type of conformance the server is claiming
178 for the YANG module identified by this entry.";
182 grouping yang-library-parameters {
184 "The YANG library data structure is represented as a grouping
185 so it can be reused in configuration or another monitoring
189 "A container holding a list of modules. Note, modules being
190 listed here does not mean that they are supported by any
191 particular datastore.";
195 "Each entry represents one revision of one module
196 currently supported by the server.";
200 "A stable identifier, independent of any other part
201 of this module instance.";
204 uses module-identification-leafs;
212 "The XML namespace identifier for this module.";
215 uses implementation-parameters;
220 "Each entry represents one submodule within the
222 uses module-identification-leafs;
229 container module-sets {
231 "A container for a list of module-sets. Module-sets being
232 listed here does not mean that they are used by any
233 particular datastore.";
237 "An arbitrary module-set definition provided by the
242 "A system-generated value that uniquely represents the
243 referenced set of modules. Any change to the number
244 of modules referenced, or to the modules themselves,
245 generates a different value.";
250 path "../../../modules/module/id";
253 "A module-instance supported by the server, including its
254 features and deviations.";
259 container datastores {
261 "A container for a list of datastores supported by the
262 server. Each datastore indicates which module-sets it
267 "A datastore supported by this server.";
273 "The identity of the datastore.";
278 path "../../../module-sets/module-set/id";
281 "A reference to a module-set supported by this
288 grouping module-list {
291 "The module data structure is represented as a grouping
292 so it can be reused in configuration or another monitoring
294 grouping common-leafs {
297 "Common parameters for YANG modules and submodules.";
299 type yang:yang-identifier;
302 "The YANG module or submodule name.";
307 type revision-identifier;
314 "The YANG module or submodule revision date.
315 A zero-length string is used if no revision statement
316 is present in the YANG module or submodule.";
324 "Each entry represents one revision of one module
325 currently supported by the server.";
339 "The XML namespace identifier for this module.";
343 type yang:yang-identifier;
346 "List of YANG feature names from this module that are
347 supported by the server, regardless whether they are
348 defined in the module or any included submodule.";
355 "List of YANG deviation module names and revisions
356 used by this server to modify the conformance of
357 the module associated with this entry. Note that
358 the same module can be used for deviations for
359 multiple modules, so the same entry MAY appear
360 within multiple 'module' entries.
362 The deviation module MUST be present in the 'module'
363 list, with the same name and revision values.
364 The 'conformance-type' value will be 'implement' for
365 the deviation module.";
371 leaf conformance-type {
375 "Indicates that the server implements one or more
376 protocol-accessible objects defined in the YANG module
377 identified in this entry. This includes deviation
378 statements defined in the module.
380 For YANG version 1.1 modules, there is at most one
381 module entry with conformance type 'implement' for a
382 particular module name, since YANG 1.1 requires that
383 at most one revision of a module is implemented.
385 For YANG version 1 modules, there SHOULD NOT be more
386 than one module entry for a particular module name.";
390 "Indicates that the server imports reusable definitions
391 from the specified revision of the module, but does
392 not implement any protocol accessible objects from
395 Multiple module entries for the same module name MAY
396 exist. This can occur if multiple modules import the
397 same module, but specify different revision-dates in
398 the import statements.";
404 "Indicates the type of conformance the server is claiming
405 for the YANG module identified by this entry.";
412 "Each entry represents one submodule within the
425 container yang-library {
428 "Container providing all the YANG meta information the
430 uses yang-library-parameters;
437 "A server-generated checksum of the contents of the
438 'yang-library' tree. The server MUST change the value of
439 this leaf if the information represented by the
440 'yang-library' tree, except yang-library/checksum, has
445 container modules-state {
449 "Contains YANG module monitoring information.";
455 "Contains a server-specific identifier representing
456 the current set of modules and submodules. The
457 server MUST change the value of this leaf if the
458 information represented by the 'module' list instances
467 notification yang-library-update {
469 "Generated when any YANG library information on the
470 server has changed.";
473 notification yang-library-change {
476 "Generated when the set of modules and submodules supported
477 by the server has changed.";
480 path "/yanglib:modules-state/yanglib:module-set-id";
485 "Contains the module-set-id value representing the
486 set of modules and submodules supported at the server
487 at the time the notification is generated.";