Add YANG Module Tags models
[mdsal.git] / model / ietf / rfc8819-ietf-module-tags-state / src / main / yang / ietf-module-tags-state@2021-01-04.yang
1 module ietf-module-tags-state {
2   yang-version 1.1;
3   namespace "urn:ietf:params:xml:ns:yang:ietf-module-tags-state";
4   prefix tags-s;
5
6   import ietf-yang-types {
7     prefix yang;
8   }
9   import ietf-module-tags {
10     prefix tags;
11   }
12
13   organization
14     "IETF NetMod Working Group (NetMod)";
15   contact
16     "WG Web:  <https://datatracker.ietf.org/wg/netmod/>
17      WG List: <mailto:netmod@ietf.org>
18
19      Author: Christian Hopps
20              <mailto:chopps@chopps.org>
21
22      Author: Lou Berger
23              <mailto:lberger@labn.net>
24
25      Author: Dean Bogdanovic
26              <mailto:ivandean@gmail.com>";
27
28   description
29     "This module describes a mechanism associating tags with YANG
30      modules.  Tags may be IANA assigned or privately defined.
31
32      This is a temporary non-NMDA module that is for use by
33      implementations that don't yet support NMDA.
34
35      Copyright (c) 2021 IETF Trust and the persons identified as
36      authors of the code.  All rights reserved.
37
38      Redistribution and use in source and binary forms, with or
39      without modification, is permitted pursuant to, and subject to
40      the license terms contained in, the Simplified BSD License set
41      forth in Section 4.c of the IETF Trust's Legal Provisions
42      Relating to IETF Documents
43      (https://trustee.ietf.org/license-info).
44
45      This version of this YANG module is part of RFC 8819
46      (https://www.rfc-editor.org/info/rfc8819); see the RFC itself
47      for full legal notices.";
48
49   revision 2021-01-04 {
50     description
51       "Initial revision.";
52     reference
53       "RFC 8819: YANG Module Tags";
54   }
55
56   container module-tags-state {
57     config false;
58     status deprecated;
59     description
60       "Contains the list of modules and their associated tags.";
61     list module {
62       key "name";
63       status deprecated;
64       description
65         "A list of modules and their associated tags.";
66       leaf name {
67         type yang:yang-identifier;
68         mandatory true;
69         status deprecated;
70         description
71           "The YANG module name.";
72       }
73       leaf-list tag {
74         type tags:tag;
75         status deprecated;
76         description
77           "Tags associated with the module.  See the IANA 'YANG
78            Module Tag Prefixes' registry for reserved prefixes and
79            the IANA 'IETF YANG Module Tags' registry for IETF tags.
80
81            The contents of this list is constructed using the
82            following steps:
83
84            1) System tags (i.e., tags of added by the system) are
85            added.
86            2) User-configured tags (i.e., tags added by
87            configuration) are added.
88            3) Any tag that is equal to a masked-tag present in the
89            corresponding ietf-module-tags:module-tags:module-tag leaf
90            list for this module is removed.";
91       }
92     }
93   }
94 }