Update docs conf.yaml version to Sulfur
[transportpce.git] / ordmodels / common / src / main / yang / org-openroadm-port-types@2020-12-11.yang
1 module org-openroadm-port-types {
2   namespace "http://org/openroadm/port/types";
3   prefix org-openroadm-port-types;
4
5   import org-openroadm-common-link-types {
6     prefix org-openroadm-common-link-types;
7     revision-date 2019-11-29;
8   }
9
10   organization
11     "Open ROADM MSA";
12   contact
13     "OpenROADM.org";
14   description
15     "YANG definitions for port types.
16
17      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
18      All other rights reserved.
19
20      Redistribution and use in source and binary forms, with or without modification,
21      are permitted provided that the following conditions are met:
22
23      * Redistributions of source code must retain the above copyright notice, this
24        list of conditions and the following disclaimer.
25      * Redistributions in binary form must reproduce the above copyright notice,
26        this list of conditions and the following disclaimer in the documentation and/or
27        other materials provided with the distribution.
28      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
29        contributors may be used to endorse or promote products derived from this software
30        without specific prior written permission.
31
32      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
33      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
35      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
36      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
37      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
38      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
39      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
40      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41      POSSIBILITY OF SUCH DAMAGE.";
42
43   revision 2020-12-11 {
44     description
45       "Version 8.1";
46   }
47   revision 2020-03-27 {
48     description
49       "Version 7.0.0";
50   }
51   revision 2019-11-29 {
52     description
53       "Version 6.1.0";
54   }
55   revision 2019-05-31 {
56     description
57       "Version 5.1.0";
58   }
59   revision 2019-03-29 {
60     description
61       "Version 5.0.0";
62   }
63   revision 2018-11-30 {
64     description
65       "Version 4.1.0";
66   }
67   revision 2018-09-28 {
68     description
69       "Version 4.0.0";
70   }
71   revision 2018-03-30 {
72     description
73       "Version 3.0.0";
74   }
75   revision 2017-12-15 {
76     description
77       "Version 2.2";
78   }
79   revision 2017-09-29 {
80     description
81       "Version 2.1";
82   }
83   revision 2017-07-28 {
84     description
85       "Version 2.0.1 - added revision-date to imports";
86   }
87   revision 2017-06-26 {
88     description
89       "Version 2.0";
90   }
91   revision 2016-10-14 {
92     description
93       "Version 1.2";
94   }
95
96   identity supported-if-capability {
97     description
98       "Base identity from which specific supported interfaces are derived";
99   }
100
101   identity if-100GE {
102     base supported-if-capability;
103   }
104
105   identity if-200GE {
106     base supported-if-capability;
107   }
108
109   identity if-400GE {
110     base supported-if-capability;
111   }
112
113   identity if-OMS {
114     base supported-if-capability;
115   }
116
117   identity if-OTS {
118     base supported-if-capability;
119   }
120
121   identity if-OTS-OMS-MC-NMC {
122     base supported-if-capability;
123   }
124
125   identity if-NMC {
126     base supported-if-capability;
127   }
128
129   identity if-OCH {
130     base supported-if-capability;
131   }
132
133   identity if-1GE {
134     base supported-if-capability;
135   }
136
137   identity if-10GE {
138     base supported-if-capability;
139   }
140
141   identity if-40GE {
142     base supported-if-capability;
143   }
144
145   identity if-OCH-OTU1-ODU1 {
146     base supported-if-capability;
147   }
148
149   identity if-OCH-OTU2-ODU2 {
150     base supported-if-capability;
151   }
152
153   identity if-OCH-OTU2E-ODU2E {
154     base supported-if-capability;
155   }
156
157   identity if-OCH-OTU3-ODU3 {
158     base supported-if-capability;
159   }
160
161   identity if-OCH-OTU4-ODU4 {
162     base supported-if-capability;
163   }
164
165   identity if-OCH-OTU4-ODU4-regen {
166     base supported-if-capability;
167   }
168
169   identity if-OCH-OTU4-ODU4-uniregen {
170     base supported-if-capability;
171   }
172
173   identity if-OTUCn-ODUCn {
174     base supported-if-capability;
175   }
176
177   identity if-OTUCn-ODUCn-regen {
178     base supported-if-capability;
179   }
180
181   identity if-OTUCn-ODUCn-uniregen {
182     base supported-if-capability;
183   }
184
185   identity if-otsi-flexo-flexogroup {
186     base supported-if-capability;
187   }
188
189   identity if-otsi-otsigroup {
190     base supported-if-capability;
191   }
192
193   identity if-n-OTU4-ODU4 {
194     base supported-if-capability;
195   }
196
197   identity if-otsi-otucn-oducn {
198     base supported-if-capability;
199     status obsolete;
200   }
201
202   identity if-OTU4-ODU4 {
203     base supported-if-capability;
204   }
205
206   identity if-OTU1-ODU1 {
207     base supported-if-capability;
208   }
209
210   identity if-OTU2-ODU2 {
211     base supported-if-capability;
212   }
213
214   identity if-OTU2e-ODU2e {
215     base supported-if-capability;
216   }
217
218   identity if-OTU3-ODU3 {
219     base supported-if-capability;
220   }
221
222   identity if-1GE-ODU0 {
223     base supported-if-capability;
224   }
225
226   identity if-10GE-ODU2 {
227     base supported-if-capability;
228   }
229
230   identity if-10GE-ODU2e {
231     base supported-if-capability;
232   }
233
234   identity if-10GE-oduflexgfp {
235     base supported-if-capability;
236   }
237
238   identity if-25GE-oduflexcbr {
239     base supported-if-capability;
240   }
241
242   identity if-40GE-ODU3 {
243     base supported-if-capability;
244   }
245
246   identity if-40GE-oduflexgfp {
247     base supported-if-capability;
248   }
249
250   identity if-100GE-ODU4 {
251     base supported-if-capability;
252   }
253
254   identity if-100GE-oduflexgfp {
255     base supported-if-capability;
256   }
257
258   identity if-200GE-oduflexcbr {
259     base supported-if-capability;
260   }
261
262   identity if-400GE-odufleximp {
263     base supported-if-capability;
264   }
265
266   identity if-400GE-oduflexcbr {
267     base supported-if-capability;
268   }
269
270   identity supported-xpdr-capability {
271     description
272       "Base identity from which specific supported xponder are derived";
273   }
274
275   identity Transponder {
276     base supported-xpdr-capability;
277   }
278
279   identity Regen {
280     base supported-xpdr-capability;
281   }
282
283   identity pluggable-identifiers-identity {
284     description
285       "Pluggable identifiers type";
286   }
287
288   identity SFP {
289     base pluggable-identifiers-identity;
290   }
291
292   identity SFP-plus {
293     base pluggable-identifiers-identity;
294   }
295
296   identity SFP28 {
297     base pluggable-identifiers-identity;
298   }
299
300   identity SFP-DD {
301     base pluggable-identifiers-identity;
302   }
303
304   identity DWDM-SFP {
305     base pluggable-identifiers-identity;
306   }
307
308   identity DWDM-SFP-plus {
309     base pluggable-identifiers-identity;
310   }
311
312   identity QSFP {
313     base pluggable-identifiers-identity;
314   }
315
316   identity QSFP-plus {
317     base pluggable-identifiers-identity;
318   }
319
320   identity QSFP28 {
321     base pluggable-identifiers-identity;
322   }
323
324   identity QSFP28-DD {
325     base pluggable-identifiers-identity;
326   }
327
328   identity QSFP-DD {
329     base pluggable-identifiers-identity;
330   }
331
332   identity micro-QSFP {
333     base pluggable-identifiers-identity;
334   }
335
336   identity OSFP {
337     base pluggable-identifiers-identity;
338   }
339
340   identity CFP {
341     base pluggable-identifiers-identity;
342   }
343
344   identity CFP2 {
345     base pluggable-identifiers-identity;
346   }
347
348   identity CFP4 {
349     base pluggable-identifiers-identity;
350   }
351
352   identity CFP8 {
353     base pluggable-identifiers-identity;
354   }
355
356   identity CFP2-ACO {
357     base pluggable-identifiers-identity;
358   }
359
360   identity CFP2-DCO {
361     base pluggable-identifiers-identity;
362   }
363
364   identity XFP {
365     base pluggable-identifiers-identity;
366   }
367
368   identity SFP56 {
369     base pluggable-identifiers-identity;
370   }
371
372   identity QSFP56 {
373     base pluggable-identifiers-identity;
374   }
375
376   identity QSFP56-DD {
377     base pluggable-identifiers-identity;
378   }
379
380   identity SFP-other {
381     base pluggable-identifiers-identity;
382   }
383
384   identity SFP-unspecified {
385     base pluggable-identifiers-identity;
386   }
387
388   identity pluggable-type-other {
389     base pluggable-identifiers-identity;
390   }
391
392   identity pluggable-type-unspecified {
393     base pluggable-identifiers-identity;
394   }
395
396   typedef port-wavelength-types {
397     type enumeration {
398       enum wavelength {
399         value 1;
400         description
401           "Port on a transponder or ROADM SRG add drop";
402       }
403       enum multi-wavelength {
404         value 2;
405         description
406           "External port connecting to other roadm.";
407       }
408     }
409     description
410       "Port types.";
411   }
412
413   typedef port-module-types {
414     type enumeration {
415       enum 100GBASE-LR4 {
416         value 1;
417       }
418       enum CWDM-4 {
419         value 2;
420       }
421     }
422     description
423       "Pluggable modue types.";
424   }
425
426   grouping common-port {
427     leaf port-power-capability-min-rx {
428       type org-openroadm-common-link-types:power-dBm;
429       config false;
430       description
431         "Based on port capabilities, the minimum power in the system spec for this port to
432          provide optimum function in rx direction";
433     }
434     leaf port-power-capability-min-tx {
435       type org-openroadm-common-link-types:power-dBm;
436       config false;
437       description
438         "Based on port capabilities, the minimum power in the system spec for this port to
439          provide optimum function in tx direction.";
440     }
441     leaf port-power-capability-max-rx {
442       type org-openroadm-common-link-types:power-dBm;
443       config false;
444       description
445         "Based on port capabilities, the maximum power in the system spec for this port to
446          provide optimum function in rx direction.";
447     }
448     leaf port-power-capability-max-tx {
449       type org-openroadm-common-link-types:power-dBm;
450       config false;
451       description
452         "Based on port capabilities, the maximum power in the system spec for this port to
453          provide optimum function in tx direction.";
454     }
455   }
456
457   grouping roadm-port {
458     uses common-port;
459   }
460
461 }