downgrade dependencies to stable/fluorine SR1
[transportpce.git] / tests / ordmodels_2_1 / org-openroadm-network-types@2017-09-29.yang
1 module org-openroadm-network-types {
2   namespace "http://org/openroadm/network/types";
3   prefix nt;
4
5   import ietf-network-topology {
6     prefix nwt;
7     revision-date 2015-06-08;
8   }
9   import ietf-yang-types {
10     prefix yang;
11     revision-date 2013-07-15;
12   }
13   import org-openroadm-common-types {
14     prefix org-openroadm-common-types;
15     revision-date 2017-09-29;
16   }
17   import org-openroadm-port-types {
18     prefix org-openroadm-port-types;
19     revision-date 2017-09-29;
20   }
21
22   organization
23     "OPEN ROADM MSA";
24   contact
25     "www.OpenROADM.org.";
26   description
27     "Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
28      AT&T Intellectual Property.  All other rights reserved.
29
30      Redistribution and use in source and binary forms, with or without modification,
31      are permitted provided that the following conditions are met:
32
33      * Redistributions of source code must retain the above copyright notice, this
34        list of conditions and the following disclaimer.
35      * Redistributions in binary form must reproduce the above copyright notice,
36        this list of conditions and the following disclaimer in the documentation and/or
37        other materials provided with the distribution.
38      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
39        contributors may be used to endorse or promote products derived from this software
40        without specific prior written permission.
41
42      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
43      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
44      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
45      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
46      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
47      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
48      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
49      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
50      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
51      POSSIBILITY OF SUCH DAMAGE.";
52
53   revision 2017-09-29 {
54     description
55       "Version 2.1";
56   }
57   revision 2017-07-28 {
58     description
59       "Version 2.0.1 - added revision-date to imports";
60   }
61   revision 2017-06-26 {
62     description
63       "Version 2.0";
64   }
65
66   typedef openroadm-node-type {
67     type enumeration {
68       enum "ROADM" {
69         value 1;
70       }
71       enum "DEGREE" {
72         value 11;
73       }
74       enum "SRG" {
75         value 12;
76       }
77       enum "XPONDER" {
78         value 3;
79       }
80       enum "EXT-PLUGGABLE" {
81         value 4;
82       }
83       enum "TPDR" {
84         value 13;
85       }
86       enum "MUXPDR" {
87         value 14;
88       }
89       enum "REGEN" {
90         value 15;
91       }
92       enum "REGEN-UNI" {
93         value 16;
94       }
95       enum "SWITCH" {
96         value 17;
97       }
98     }
99   }
100
101   typedef openroadm-tp-type {
102     type enumeration {
103       enum "DEGREE-TX-TTP" {
104         value 1;
105       }
106       enum "DEGREE-RX-TTP" {
107         value 2;
108       }
109       enum "DEGREE-TX-CTP" {
110         value 3;
111       }
112       enum "DEGREE-RX-CTP" {
113         value 4;
114       }
115       enum "SRG-TX-CP" {
116         value 5;
117       }
118       enum "SRG-RX-CP" {
119         value 6;
120       }
121       enum "SRG-TXRX-PP" {
122         value 7;
123       }
124       enum "SRG-RX-PP" {
125         value 8;
126       }
127       enum "SRG-TX-PP" {
128         value 9;
129       }
130       enum "XPONDER-NETWORK" {
131         value 10;
132       }
133       enum "XPONDER-CLIENT" {
134         value 11;
135       }
136       enum "EXT-PLUGGABLE-TP" {
137         value 12;
138       }
139       enum "DEGREE-TXRX-TTP" {
140         value 13;
141       }
142       enum "SRG-TXRX-CP" {
143         value 14;
144       }
145       enum "XPONDER-PORT" {
146         value 15;
147       }
148       enum "DEGREE-TXRX-CTP" {
149         value 16;
150       }
151     }
152   }
153
154   typedef openroadm-link-type {
155     type enumeration {
156       enum "EXPRESS-LINK" {
157         value 1;
158       }
159       enum "ADD-LINK" {
160         value 2;
161       }
162       enum "DROP-LINK" {
163         value 3;
164       }
165       enum "ROADM-TO-ROADM" {
166         value 4;
167       }
168       enum "XPONDER-INPUT" {
169         value 5;
170       }
171       enum "XPONDER-OUTPUT" {
172         value 6;
173       }
174       enum "OTN-LINK" {
175         value 7;
176       }
177     }
178   }
179
180   typedef openroadm-node-status {
181     type enumeration {
182       enum "PLANNED" {
183         value 1;
184       }
185       enum "DEPLOYED" {
186         value 2;
187       }
188       enum "MAINTENANCE" {
189         value 3;
190       }
191     }
192   }
193
194   typedef openroadm-node-mount-status {
195      type enumeration {
196          enum "MOUNTED" {
197            value 1;
198          }
199          enum "UNMOUNTED" {
200            value 2;
201          }
202       }
203   }
204
205   grouping wavelengths {
206     leaf index {
207       type uint32;
208     }
209     uses flex-wave;
210   }
211
212   grouping flex-wave {
213     leaf frequency {
214       type org-openroadm-common-types:frequency-THz;
215       description
216         "Center Frequency in THz";
217       config true;
218     }
219     leaf width {
220       type org-openroadm-common-types:frequency-GHz;
221       description
222         "Frequency width in GHz.";
223       config true;
224     }
225   }
226
227   grouping xpdr-tp-supported-interfaces {
228     list supported-interface-capability {
229       key "if-cap-type";
230       description
231         "Supported interface capability on the port.";
232       leaf if-cap-type {
233       description
234         "Interface type/hierarchy/rate supported on this port";
235         type identityref {
236            base org-openroadm-port-types:supported-if-capability;
237         }
238       }
239     }
240   }
241
242   grouping xpdr-tp-bandwidth-sharing {
243     list tp-bandwidth-sharing {
244       key "tp-sharing-id";
245       leaf tp-sharing-id {
246         type uint16;
247       }
248       leaf-list tp-list {
249         type nwt:tp-id;
250       }
251       leaf shared-bandwidth {
252         type uint16;
253         units "Gbps";
254       }
255     }
256   }
257
258   grouping xpdr-odu-switching-pools {
259     list odu-switching-pools {
260       key "switching-pool-number";
261       leaf switching-pool-number {
262       description
263         "Unique identifier for this odu-switching-pool";
264         type uint16;
265       }
266       leaf switching-pool-type {
267          type enumeration {
268            enum "non-blocking" {
269             value 1;
270             description
271               "Single non-blocking element";
272            }
273            enum "blocking" {
274             value 2;
275             description
276               "Multiple connected non-blocking lists";
277           }
278         }
279       }
280       list non-blocking-list {
281         description
282           "List of ports in a non-blocking switch element";
283         key "nbl-number";
284         leaf nbl-number {
285         description
286           "Identifier for this non-blocking-list. Unique within odu-switching-pool";
287           type uint16;
288         }
289         leaf interconnect-bandwidth-unit {
290         description
291           "Switch fabric interconnect bandwidth unit rate in bits per second.
292           Represents granularity of switch fabric";
293           type uint32;
294         }
295         leaf capable-interconnect-bandwidth {
296         description
297           "Total interconnect bandwidth for a non-blocking element expressed as
298           number of inter-connect-bandwidth units";
299           type uint32;
300         }
301         leaf available-interconnect-bandwidth {
302         description
303           "Total interconnect bandwidth available for a non-blocking element can use as
304           number of inter-connect-bandwidth units";
305           type uint32;
306         }
307         leaf-list tp-list {
308             description
309                 "Termination point. Unique within device";
310             type nwt:tp-id;
311         }
312       }
313     }
314   }
315
316   grouping node-due-date-list {
317     list due-dates {
318       key "id";
319       leaf id {
320         type uint16;
321       }
322       leaf start-date {
323         type yang:date-and-time;
324         description
325           "date and time node will begin maintenance status or date when node is planned";
326       }
327       leaf end-date {
328         type yang:date-and-time;
329         description
330           "date and time node will end maintenance or date when node is deployed";
331       }
332     }
333   }
334 }