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