Add OpenROADM 7.1.0 device and common models
[transportpce.git] / ordmodels / common / src / main / yang / org-openroadm-common-optical-channel-types@2020-05-29.yang
1 module org-openroadm-common-optical-channel-types {
2   namespace "http://org/openroadm/common-optical-channel-types";
3   prefix org-openroadm-common-optical-channel-types;
4
5   organization
6     "Open ROADM MSA";
7   contact
8     "OpenROADM.org";
9   description
10     "YANG definitions of common optical channel types.
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   revision 2020-05-29 {
39     description
40       "Version 7.1.0";
41   }
42   revision 2020-03-27 {
43     description
44       "Version 7.0.0";
45   }
46   revision 2019-11-29 {
47     description
48       "Version 6.1.0";
49   }
50   revision 2019-09-27 {
51     description
52       "Version 6.0.0";
53   }
54   revision 2019-03-29 {
55     description
56       "Version 5.0.0";
57   }
58   revision 2018-11-30 {
59     description
60       "Version 4.1.0";
61   }
62   revision 2018-05-30 {
63     description
64       "Version 3.1.0";
65   }
66   revision 2018-03-30 {
67     description
68       "Version 3.0.0";
69   }
70
71   identity optical-rate-identity {
72     description
73       "base for otsi and och idenity";
74   }
75
76   identity och-rate-identity {
77     base optical-rate-identity;
78     description
79       "A unique och rate identification";
80   }
81
82   identity otsi-rate-identity {
83     base optical-rate-identity;
84     description
85       "A unique OTSi rate identification";
86   }
87
88   identity foic-identity {
89     description
90       "A unique FOICx.k identification (G.709.3 FlexO-LR and
91        G.709.1 FlexO-SR)";
92   }
93
94   identity foic1.2 {
95     base foic-identity;
96     description
97       "Applicable to the FlexO type defined in G.Sup58";
98   }
99
100   identity foic1.4 {
101     base foic-identity;
102     description
103       "Applicable to the FlexO type defined in G.709.1 and G.709.3";
104   }
105
106   identity foic2.4 {
107     base foic-identity;
108     description
109       "Applicable to the FlexO type defined in G.709.1";
110   }
111
112   identity foic2.8 {
113     base foic-identity;
114     description
115       "Applicable to the FlexO type defined in G.Sup58";
116   }
117
118   identity foic3.6 {
119     base foic-identity;
120     description
121       "Applicable to the FlexO type defined in future";
122   }
123
124   identity foic4.8 {
125     base foic-identity;
126     description
127       "Applicable to the FlexO type defined in G.709.1";
128   }
129
130   identity foic4.16 {
131     base foic-identity;
132     description
133       "Applicable to the FlexO type defined in G.Sup58";
134   }
135
136   identity R400G-otsi {
137     base otsi-rate-identity;
138     description
139       "Applicable instance for otsi rate identity";
140   }
141
142   identity R300G-otsi {
143     base otsi-rate-identity;
144     description
145       "Applicable instance for otsi rate identity";
146   }
147
148   identity R200G-otsi {
149     base otsi-rate-identity;
150     description
151       "Applicable instance for otsi rate identity";
152   }
153
154   identity R200G {
155     base och-rate-identity;
156     description
157       "Identity for 200G Rate";
158   }
159
160   identity R100G-otsi {
161     base otsi-rate-identity;
162     description
163       "Applicable instance for otsi rate identity";
164   }
165
166   identity R100G {
167     base och-rate-identity;
168     description
169       "Identity for 100G Rate";
170   }
171
172   identity R56G-foic-otsi {
173     base otsi-rate-identity;
174     description
175       "Applicable instance for otsi rate identity";
176   }
177
178   identity R28G-foic-otsi {
179     base otsi-rate-identity;
180     description
181       "Applicable instance for otsi rate identity";
182   }
183
184   identity R10.7G {
185     base och-rate-identity;
186     description
187       "Identity for 10.7G Rate";
188   }
189
190   identity R11.1G {
191     base och-rate-identity;
192     description
193       "Identity for 11.1G Rate";
194   }
195
196   typedef frequency-THz {
197     type decimal64 {
198       fraction-digits 8;
199     }
200     units "THz";
201     description
202       "Frequency value in THz.";
203   }
204
205   typedef frequency-GHz {
206     type decimal64 {
207       fraction-digits 5;
208     }
209     units "GHz";
210     description
211       "Frequency value in GHz.";
212   }
213
214   typedef wavelength-duplication-type {
215     type enumeration {
216       enum one-per-srg {
217         value 1;
218         description
219           "The SRG cannot handle wavelength duplication. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will result in failure.";
220       }
221       enum one-per-degree {
222         value 2;
223         description
224           "The SRG can handle wavelength duplication, but only one per degree. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will succeed, so long as the connections are not using the same degree.";
225       }
226     }
227     description
228       "One per srg is applied to C/D add/drop group
229        one per degree is applied to C/D/C add drop group";
230   }
231
232   typedef modulation-format {
233     type enumeration {
234       enum bpsk {
235         value 0;
236         description
237           "binary phase-shift keying";
238       }
239       enum dc-dp-bpsk {
240         value 1;
241         description
242           "DC dual-polarization binary phase-shift keying";
243       }
244       enum qpsk {
245         value 2;
246         description
247           "quadrature phase-shift keying";
248       }
249       enum dp-qpsk {
250         value 3;
251         description
252           "dual-polarization binary phase-shift keying";
253       }
254       enum qam16 {
255         value 4;
256         description
257           "quadrature amplitude modulation 16";
258       }
259       enum dp-qam16 {
260         value 5;
261         description
262           "dual-polarization quadrature amplitude modulation 16";
263       }
264       enum dc-dp-qam16 {
265         value 6;
266         description
267           "DC dual-polarization quadrature amplitude modulation 16";
268       }
269       enum qam8 {
270         value 7;
271         description
272           "quadrature amplitude modulation 8";
273       }
274       enum dp-qam8 {
275         value 8;
276         description
277           "dual-polarization quadrature amplitude modulation 8";
278       }
279       enum dc-dp-qam8 {
280         value 9;
281         description
282           "DC dual-polarization quadrature amplitude modulation 8";
283       }
284     }
285     description
286       "Modulation format";
287   }
288
289   typedef provision-mode-type {
290     type enumeration {
291       enum explicit;
292       enum profile;
293     }
294     description
295       "Provision Mode Type On Optical Channel";
296   }
297 }