Add RFC6643 parser support
[yangtools.git] / yang / rfc6643-parser-support / src / test / resources / ietf-yang-smiv2.yang
1 module ietf-yang-smiv2 {
2
3   namespace "urn:ietf:params:xml:ns:yang:ietf-yang-smiv2";
4   prefix "smiv2";
5
6   organization
7    "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
8
9   contact
10    "WG Web:   <http://tools.ietf.org/wg/netmod/>
11     WG List:  <mailto:netmod@ietf.org>
12
13     WG Chair: David Kessens
14               <mailto:david.kessens@nsn.com>
15
16     WG Chair: Juergen Schoenwaelder
17               <mailto:j.schoenwaelder@jacobs-university.de>
18
19     Editor:   Juergen Schoenwaelder
20               <mailto:j.schoenwaelder@jacobs-university.de>";
21
22   description
23    "This module defines YANG extensions that are used to translate
24     SMIv2 concepts into YANG.
25
26     Copyright (c) 2012 IETF Trust and the persons identified as
27     authors of the code.  All rights reserved.
28
29     Redistribution and use in source and binary forms, with or
30     without modification, is permitted pursuant to, and subject
31     to the license terms contained in, the Simplified BSD License
32     set forth in Section 4.c of the IETF Trust's Legal Provisions
33     Relating to IETF Documents
34     (http://trustee.ietf.org/license-info).
35
36     This version of this YANG module is part of RFC 6643; see
37     the RFC itself for full legal notices.";
38
39   revision 2012-06-22 {
40     description
41      "Initial revision.";
42     reference
43      "RFC 6643: Translation of Structure of Management Information
44       Version 2 (SMIv2) MIB Modules to YANG Modules";
45   }
46
47   identity object-identity {
48     description
49      "Base identity for all SMIv2 OBJECT-IDENTITYs.";
50   }
51
52   typedef opaque {
53     type binary;
54     description
55      "The Opaque type supports the capability to pass arbitrary ASN.1
56       syntax.  A value is encoded using the ASN.1 Basic Encoding Rules
57       into a string of octets.  This, in turn, is encoded as an OCTET
58       STRING, in effect 'double-wrapping' the original ASN.1 value.
59
60       In the value set and its semantics, this type is equivalent to
61       the Opaque type of the SMIv2.  This type exists in the SMIv2
62       solely for backward-compatibility reasons and this is also
63       true for this YANG data type.";
64     reference
65      "RFC 2578: Structure of Management Information Version 2 (SMIv2)";
66   }
67
68   extension display-hint {
69     argument "format";
70     description
71      "The display-hint statement takes as an argument the DISPLAY-HINT
72       assigned to an SMIv2 textual convention.";
73     reference
74      "RFC 2579: Textual Conventions for SMIv2";
75   }
76
77   extension max-access {
78     argument "access";
79     description
80      "The max-access statement takes as an argument the MAX-ACCESS
81       assigned to an SMIv2 object definition.
82
83       The MAX-ACCESS value is SMIv2 specific and has no impact on
84       the access provided to YANG objects through protocols such
85       as NETCONF.";
86     reference
87      "RFC 2578: Structure of Management Information Version 2 (SMIv2)";
88   }
89
90   extension defval {
91     argument "value";
92     description
93      "The defval statement takes as an argument a default value
94       defined by an SMIv2 DEFVAL clause.  Note that the value is in
95       the SMIv2 value space defined by the SMIv2 syntax of the
96       corresponding object and not in the YANG value space
97       defined by the corresponding YANG data type.";
98     reference
99      "RFC 2578: Structure of Management Information Version 2 (SMIv2)";
100   }
101
102   extension implied {
103     argument "index";
104     description
105      "If an SMIv2 INDEX object is preceded by the IMPLIED keyword, then
106       the implied statement is present in the YANG module and takes as
107       an argument the name of the IMPLIED index object.";
108     reference
109      "RFC 2578: Structure of Management Information Version 2 (SMIv2)";
110    }
111
112   extension alias {
113     argument "descriptor";
114     description
115      "The alias statement introduces an SMIv2 descriptor.  The body of
116       the alias statement is expected to contain an oid statement that
117       provides the numeric OID associated with the descriptor.";
118     reference
119      "RFC 2578: Structure of Management Information Version 2 (SMIv2)";
120   }
121
122   extension oid {
123     argument "value";
124     description
125      "The oid statement takes as an argument the object identifier
126       assigned to an SMIv2 definition.  The object identifier value
127       is written in decimal dotted notation.";
128     reference
129      "RFC 2578: Structure of Management Information Version 2 (SMIv2)";
130   }
131
132   extension subid {
133     argument "value";
134     description
135      "The subid statement takes as an argument the last sub-identifier
136       of the object identifier assigned to an SMIv2 definition.  The
137       sub-identifier value is a single positive decimal natural number.
138       The subid statement may not be used as a substatement to any
139       top-level node in a YANG document.  The subid substatement may
140       be used only as a substatement to a node having a parent node
141       defined with either an smiv2:oid or smiv2:subid substatement.";
142     reference
143      "RFC 2578: Structure of Management Information Version 2 (SMIv2)";
144   }
145
146 }