Upgrade to OpenROADM 7.1.0 network models
[transportpce.git] / ordmodels / network / src / main / yang / org-openroadm-link@2020-05-29.yang
1 module org-openroadm-link {
2   yang-version 1.1;
3   namespace "http://org/openroadm/link";
4   prefix link;
5
6   import org-openroadm-equipment-states-types {
7     prefix org-openroadm-equipment-states-types;
8     revision-date 2019-11-29;
9   }
10   import org-openroadm-common-link-types {
11     prefix org-openroadm-common-link-types;
12     revision-date 2019-11-29;
13   }
14   import org-openroadm-common-node-types {
15     prefix org-openroadm-common-node-types;
16     revision-date 2019-11-29;
17   }
18   import org-openroadm-amplifier {
19     prefix org-openroadm-amplifier;
20     revision-date 2019-11-29;
21   }
22   import org-openroadm-network-types {
23     prefix org-openroadm-network-types;
24     revision-date 2020-05-29;
25   }
26
27   organization
28     "Open ROADM MSA";
29   contact
30     "OpenROADM.org.";
31   description
32     "YANG definitions for an amplifier in Network Model
33
34
35      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2017,
36      All other rights reserved.
37
38      Redistribution and use in source and binary forms, with or without modification,
39      are permitted provided that the following conditions are met:
40
41      * Redistributions of source code must retain the above copyright notice, this
42        list of conditions and the following disclaimer.
43      * Redistributions in binary form must reproduce the above copyright notice,
44        this list of conditions and the following disclaimer in the documentation and/or
45        other materials provided with the distribution.
46      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
47        contributors may be used to endorse or promote products derived from this software
48        without specific prior written permission.
49
50      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
51      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
52      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
54      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
55      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
56      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
57      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
58      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
59      POSSIBILITY OF SUCH DAMAGE.";
60
61   revision 2020-05-29 {
62     description
63       "Version 7.1.0";
64   }
65   revision 2020-03-27 {
66     description
67       "Version 7.0.0";
68   }
69   revision 2019-11-29 {
70     description
71       "Version 6.1.0";
72   }
73   revision 2019-09-27 {
74     description
75       "Version 6.0.0";
76   }
77   revision 2019-05-31 {
78     description
79       "Version 5.1.0";
80   }
81   revision 2019-03-29 {
82     description
83       "Version 5.0.0";
84   }
85   revision 2018-11-30 {
86     description
87       "Version 4.1.0";
88   }
89   revision 2018-09-28 {
90     description
91       "Version 4.0.0";
92   }
93   revision 2018-03-30 {
94     description
95       "Version 3.0.0";
96   }
97   revision 2017-12-15 {
98     description
99       "Version 2.2";
100   }
101   revision 2017-09-29 {
102     description
103       "Version 2.1";
104   }
105   revision 2017-07-28 {
106     description
107       "Version 2.0.1 - added revision-date to imports";
108   }
109   revision 2017-06-17 {
110     description
111       "Version 2.0";
112   }
113
114   grouping span-attributes {
115     leaf auto-spanloss {
116       type boolean;
117       default "true";
118       description
119         "Flag to enable/disable automatic spanloss measurement";
120     }
121     leaf spanloss-base {
122       type org-openroadm-common-link-types:ratio-dB;
123       description
124         "Baseline ROADM span loss measured and accepted during
125          degree turn-up. May be re-set to current value after a fiber repair or change.";
126     }
127     leaf spanloss-current {
128       type org-openroadm-common-link-types:ratio-dB;
129       description
130         "Current ROADM span loss measured and accepted during
131          degree turn-up. Updated periodically if auto-spanloss is enabled.";
132     }
133     leaf spanloss-last-measured {
134       type org-openroadm-common-link-types:ratio-dB;
135       description
136         "Last measured ROADM span loss, may or may not have been accepted and pushed to the NE.";
137     }
138     leaf engineered-spanloss {
139       type org-openroadm-common-link-types:ratio-dB;
140       description
141         "ROADM span loss provided by an external system";
142     }
143     list link-concatenation {
144       key "SRLG-Id";
145       leaf SRLG-Id {
146         type uint32;
147         description
148           "unique identifier for SRLG";
149       }
150       leaf fiber-type {
151         type enumeration {
152           enum smf {
153             value 0;
154             description
155               "Single Mode Fiber";
156           }
157           enum eleaf {
158             value 1;
159             description
160               "ELEAF";
161           }
162           enum oleaf {
163             value 2;
164             description
165               "OLEAF";
166           }
167           enum dsf {
168             value 3;
169             description
170               "DSF";
171           }
172           enum truewave {
173             value 4;
174             description
175               "TRUEWAVE Reduced Slope";
176           }
177           enum truewavec {
178             value 5;
179             description
180               "TRUEWAVE Classic";
181           }
182           enum nz-dsf {
183             value 6;
184             description
185               "NZ-DSF";
186           }
187           enum ull {
188             value 7;
189             description
190               "Ultra Low Loss (ULL)";
191           }
192         }
193       }
194       leaf SRLG-length {
195         type uint32;
196         description
197           "fiber length in meters";
198       }
199       leaf pmd {
200         type org-openroadm-common-link-types:fiber-pmd;
201         description
202           "Total PMD";
203       }
204     }
205   }
206
207   grouping amplified-link-attributes {
208     list amplified-link {
209       key "section-elt-number";
210       description
211         "defines the spans and the amplifier blocks of the amplified lines";
212       leaf section-elt-number {
213         type uint16;
214         description
215           "Id of the section element (whether it's a Span or an Amp)";
216       }
217       container section-element {
218         choice section-element {
219           case ila {
220             container ila {
221               uses org-openroadm-amplifier:amplifier-node-attributes;
222               uses org-openroadm-network-types:type-variety-grp;
223               leaf node-id {
224                 type org-openroadm-common-node-types:node-id-type;
225                 mandatory true;
226                 description
227                   "Node id corresponding to the amplifier ";
228               }
229               leaf administrative-state {
230                 type org-openroadm-equipment-states-types:admin-states;
231               }
232             }
233           }
234           case span {
235             container span {
236               uses link:span-attributes;
237               leaf administrative-state {
238                 type org-openroadm-equipment-states-types:admin-states;
239               }
240             }
241           }
242         }
243       }
244     }
245   }
246 }