Update Renderer Module
[transportpce.git] / ordmodels / network / src / main / yang / org-openroadm-network-types@2017-12-15.yang
1 module org-openroadm-network-types {
2   namespace "http://org/openroadm/network/types";
3   prefix nt;
4
5   import ietf-yang-types {
6     prefix yang;
7     revision-date 2013-07-15;
8   }
9   import org-openroadm-common-types {
10     prefix org-openroadm-common-types;
11     revision-date 2017-12-15;
12   }
13   import org-openroadm-port-types {
14     prefix org-openroadm-port-types;
15     revision-date 2017-12-15;
16   }
17
18   organization
19     "OPEN ROADM MSA";
20   contact
21     "www.OpenROADM.org.";
22   description
23     "Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
24      AT&T Intellectual Property.  All other rights reserved.
25
26      Redistribution and use in source and binary forms, with or without modification,
27      are permitted provided that the following conditions are met:
28
29      * Redistributions of source code must retain the above copyright notice, this
30        list of conditions and the following disclaimer.
31      * Redistributions in binary form must reproduce the above copyright notice,
32        this list of conditions and the following disclaimer in the documentation and/or
33        other materials provided with the distribution.
34      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
35        contributors may be used to endorse or promote products derived from this software
36        without specific prior written permission.
37
38      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
39      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
40      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
41      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
42      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
43      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
44      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
45      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
47      POSSIBILITY OF SUCH DAMAGE.";
48
49   revision 2017-12-15 {
50     description
51       "Version 2.2";
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   grouping wavelengths {
195     leaf index {
196       type uint32;
197     }
198     uses flex-wave;
199   }
200
201   grouping flex-wave {
202     leaf frequency {
203       type org-openroadm-common-types:frequency-THz;
204       config true;
205       description
206         "Center Frequency in THz";
207     }
208     leaf width {
209       type org-openroadm-common-types:frequency-GHz;
210       config true;
211       description
212         "Frequency width in GHz.";
213     }
214   }
215
216   grouping xpdr-tp-supported-interfaces {
217     list supported-interface-capability {
218       key "if-cap-type";
219       description
220         "Supported interface capability on the port.";
221       leaf if-cap-type {
222         type identityref {
223           base org-openroadm-port-types:supported-if-capability;
224         }
225         description
226           "Interface type/hierarchy/rate supported on this port";
227       }
228     }
229   }
230
231   grouping node-due-date-list {
232     list due-dates {
233       key "id";
234       leaf id {
235         type uint16;
236       }
237       leaf start-date {
238         type yang:date-and-time;
239         description
240           "date and time node will begin maintenance status or date when node is planned";
241       }
242       leaf end-date {
243         type yang:date-and-time;
244         description
245           "date and time node will end maintenance or date when node is deployed";
246       }
247     }
248   }
249 }