Update docs conf.yaml version to Sulfur
[transportpce.git] / ordmodels / common / src / main / yang / org-openroadm-otn-common-types@2021-09-24.yang
1 module org-openroadm-otn-common-types {
2   namespace "http://org/openroadm/otn-common-types";
3   prefix org-openroadm-otn-common-types;
4
5   organization
6     "Open ROADM MSA";
7   contact
8     "OpenROADM.org";
9   description
10     "YANG definitions for common otn related type definitions.
11
12      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
13      All other rights reserved.
14
15      Redistribution and use in source and binary forms, with or without modification,
16      are permitted provided that the following conditions are met:
17
18      * Redistributions of source code must retain the above copyright notice, this
19        list of conditions and the following disclaimer.
20      * Redistributions in binary form must reproduce the above copyright notice,
21        this list of conditions and the following disclaimer in the documentation and/or
22        other materials provided with the distribution.
23      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
24        contributors may be used to endorse or promote products derived from this software
25        without specific prior written permission.
26
27      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
28      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
29      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
30      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
31      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
32      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
33      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
34      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36      POSSIBILITY OF SUCH DAMAGE.
37
38      Also contains code components extracted from IETF Interfaces.  These code components
39      are copyrighted and licensed as follows:
40
41      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
42      All rights reserved.
43
44      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
45      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
46      publication of this document. Please review these documents carefully, as they
47      describe your rights and restrictions with respect to this document. Code Components
48      extracted from this document must include Simplified BSD License text as described in
49      Section 4.e of the Trust Legal Provisions and are provided without warranty as
50      described in the Simplified BSD License.";
51
52   revision 2021-09-24 {
53     description
54       "Version 10.0";
55   }
56   revision 2020-03-27 {
57     description
58       "Version 7.0.0";
59   }
60   revision 2019-11-29 {
61     description
62       "Version 6.1.0";
63   }
64   revision 2019-09-27 {
65     description
66       "Version 6.0.0";
67   }
68   revision 2018-11-30 {
69     description
70       "Version 4.1.0";
71   }
72   revision 2018-09-28 {
73     description
74       "Version 4.0.0";
75   }
76   revision 2018-03-30 {
77     description
78       "Version 3.0.0";
79   }
80   revision 2017-12-15 {
81     description
82       "Version 2.2";
83   }
84   revision 2017-09-29 {
85     description
86       "Version 2.1";
87   }
88
89   identity otu-rate-identity {
90     description
91       "A unique rate identification of the OTU.";
92   }
93
94   identity OTUCn {
95     base otu-rate-identity;
96     description
97       "Identity for an OTUCn";
98   }
99
100   identity OTU4 {
101     base otu-rate-identity;
102     description
103       "Identity for an OTU4";
104   }
105
106   identity OTU3 {
107     base otu-rate-identity;
108     description
109       "Identity for an OTU3";
110   }
111
112   identity OTU2 {
113     base otu-rate-identity;
114     description
115       "Identity for an OTU2";
116   }
117
118   identity OTU2e {
119     base otu-rate-identity;
120     description
121       "Identity for an OTU2e";
122   }
123
124   identity OTU1 {
125     base otu-rate-identity;
126     description
127       "Identity for an OTU1";
128   }
129
130   identity OTU0 {
131     base otu-rate-identity;
132     description
133       "Identity for an OTU0";
134   }
135
136   identity OTUflex {
137     base otu-rate-identity;
138     description
139       "Identity for an OTUflex";
140   }
141
142   identity odu-rate-identity {
143     description
144       "A unique rate identification of the ODU.";
145   }
146
147   identity ODUCn {
148     base odu-rate-identity;
149     description
150       "Identity for an ODUCn";
151   }
152
153   identity ODU4 {
154     base odu-rate-identity;
155     description
156       "Identity for an ODU4";
157   }
158
159   identity ODU3 {
160     base odu-rate-identity;
161     description
162       "Identity for an ODU3";
163   }
164
165   identity ODU2 {
166     base odu-rate-identity;
167     description
168       "Identity for an ODU2";
169   }
170
171   identity ODU2e {
172     base odu-rate-identity;
173     description
174       "Identity for an ODU2e";
175   }
176
177   identity ODU1 {
178     base odu-rate-identity;
179     description
180       "Identity for an ODU1";
181   }
182
183   identity ODU0 {
184     base odu-rate-identity;
185     description
186       "Identity for an ODU0";
187   }
188
189   identity ODUflex-cbr {
190     base odu-rate-identity;
191     description
192       "ODUFlex for CBR client signals (G.709)";
193   }
194
195   identity ODUflex-cbr-identity {
196     description
197       "Service type for ODUflex (CBR)";
198   }
199
200   identity ODUflex-cbr-25G {
201     base ODUflex-cbr-identity;
202     description
203       "ODUFlex for CBR client signals 25G (G.709 17.13.1)";
204   }
205
206   identity ODUflex-cbr-200G {
207     base ODUflex-cbr-identity;
208     description
209       "ODUFlex for CBR client signals 200G (G.709 17.13.2)";
210   }
211
212   identity ODUflex-cbr-400G {
213     base ODUflex-cbr-identity;
214     description
215       "ODUFlex for CBR client signals 400G (G.709 17.13.2)";
216   }
217
218   identity ODUflex-imp {
219     base odu-rate-identity;
220     description
221       "ODUFlex for IMP (Idle insertion Mapping Procedure) mapped client signals (G.709)";
222   }
223
224   identity ODUflex-flexe {
225     base odu-rate-identity;
226     description
227       "ODUflex for FlexE-aware client signals (G.709)";
228   }
229
230   identity ODUflex-gfp {
231     base odu-rate-identity;
232     description
233       "ODUflex for GFP-F mapped client signals (G.709)";
234   }
235
236   identity odtu-type-identity {
237     description
238       "A unique identification for the MSI odtu type.";
239   }
240
241   identity ODTUCn.ts {
242     base odtu-type-identity;
243     description
244       "ODTUCn.ts - OPUCn MSI type (G.709 clause 20.2)";
245   }
246
247   identity ODTU4.ts-Allocated {
248     base odtu-type-identity;
249     description
250       "OPU4 MSI - ODTU4.ts, OPU4 MSI TS is occupied/allocated.
251        Applies to all ODTU4.x mappings";
252   }
253
254   identity ODTU01 {
255     base odtu-type-identity;
256     description
257       "ODTU01 MSI type";
258   }
259
260   identity ODTU12 {
261     base odtu-type-identity;
262     description
263       "ODTU12 MSI type";
264   }
265
266   identity ODTU13 {
267     base odtu-type-identity;
268     description
269       "ODTU13 MSI type";
270   }
271
272   identity ODTU23 {
273     base odtu-type-identity;
274     description
275       "ODTU23 MSI type";
276   }
277
278   identity ODTU2.ts {
279     base odtu-type-identity;
280     description
281       "ODTU2.ts MSI type";
282   }
283
284   identity ODTU3.ts {
285     base odtu-type-identity;
286     description
287       "ODTU3.ts MSI type";
288   }
289
290   identity ODTU4.ts {
291     base odtu-type-identity;
292     description
293       "ODTU4.ts MSI type";
294   }
295
296   identity unallocated {
297     base odtu-type-identity;
298     description
299       "Unallocated MSI type";
300   }
301
302   identity odu-function-identity {
303     description
304       "A unique identification of the ODUk interface function.";
305   }
306
307   identity ODU-TTP {
308     base odu-function-identity;
309     description
310       "ODU TTP facility facing trail termination";
311   }
312
313   identity ODU-CTP {
314     base odu-function-identity;
315     description
316       "ODU CTP connection termination";
317   }
318
319   identity ODU-TTP-CTP {
320     base odu-function-identity;
321     description
322       "ODU CTP mapper level connection termination with trail termination and client adaptation";
323   }
324
325   typedef payload-type-def {
326     type string {
327       length "2";
328       pattern '[0-9a-fA-F]*';
329     }
330     description
331       "Common type definition for odu payload-type";
332   }
333
334   typedef flexo-payload-type-def {
335     type string {
336       length "2";
337       pattern '[0-9a-fA-F]*';
338     }
339     description
340       "Common type definition for flexo payload-type (Section 9.2.6.2,
341        G.709.1 2020-12)";
342   }
343
344   typedef opucn-trib-slot-def {
345     type string;
346     description
347       "OPUCn trib slot in the form of 'A.B' with
348        A = 1..n
349        B = 1..20";
350   }
351
352   typedef tcm-direction-enum {
353     type enumeration {
354       enum up-tcm {
355         description
356           "TCM termination direction faces the switch fabric.";
357       }
358       enum down-tcm {
359         description
360           "TCM termination direction faces the facility";
361       }
362     }
363     description
364       "Enumeration type for TCM direction";
365   }
366 }