Remove openroadm and tapi models building
[transportpce.git] / ordmodels / service / src / main / yang / org-openroadm-ber-test@2021-12-10.yang
1 module org-openroadm-ber-test {
2   namespace "http://org/openroadm/ber-test";
3   prefix org-openroadm-ber-test;
4
5   import org-openroadm-common-service-types {
6     prefix org-openroadm-common-service-types;
7     revision-date 2021-12-10;
8   }
9   import org-openroadm-common-ber-test {
10     prefix org-openroadm-common-ber-test;
11     revision-date 2020-05-29;
12   }
13   import ietf-yang-types {
14     prefix yang;
15     revision-date 2013-07-15;
16   }
17
18   organization
19     "Open ROADM MSA";
20   contact
21     "OpenROADM.org";
22   description
23     "YANG definitions for ber test
24
25       Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
26       All other rights reserved.
27
28       Redistribution and use in source and binary forms, with or without modification,
29       are permitted provided that the following conditions are met:
30
31       * Redistributions of source code must retain the above copyright notice, this
32         list of conditions and the following disclaimer.
33       * Redistributions in binary form must reproduce the above copyright notice,
34         this list of conditions and the following disclaimer in the documentation and/or
35         other materials provided with the distribution.
36       * Neither the Members of the Open ROADM MSA Agreement nor the names of its
37         contributors may be used to endorse or promote products derived from this software
38         without specific prior written permission.
39
40       THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
41       AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
42       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
43       IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
44       INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
45       NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
46       OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
47       WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
48       ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
49       POSSIBILITY OF SUCH DAMAGE";
50
51   revision 2021-12-10 {
52     description
53       "Version 10.1";
54   }
55   revision 2021-09-24 {
56     description
57       "Version 10.0";
58   }
59   revision 2021-05-28 {
60     description
61       "Version 9.1";
62   }
63   revision 2021-03-26 {
64     description
65       "Version 9.0";
66   }
67   revision 2020-12-11 {
68     description
69       "Version 8.1";
70   }
71   revision 2020-09-25 {
72     description
73       "Version 8.0";
74   }
75   revision 2020-05-29 {
76     description
77       "Version 7.1.0";
78   }
79   revision 2020-03-27 {
80     description
81       "Version 7.0.0";
82   }
83   revision 2019-11-29 {
84     description
85       "Version 6.1.0";
86   }
87   revision 2019-09-27 {
88     description
89       "Version 6.0.0";
90   }
91   revision 2019-05-31 {
92     description
93       "Version 5.1.0";
94   }
95   revision 2019-03-29 {
96     description
97       "Version 5.0.0";
98   }
99   revision 2018-11-30 {
100     description
101       "Version 4.1.0";
102   }
103   revision 2018-09-28 {
104     description
105       "Version 4.0.0";
106   }
107   revision 2018-05-30 {
108     description
109       "Version 3.1.0";
110   }
111   revision 2018-03-30 {
112     description
113       "Version 3.0.0";
114   }
115
116   identity service-rpc-identity {
117     description
118       "Identifies the service rpc associated with this callback";
119   }
120
121   identity ber-test {
122     base service-rpc-identity;
123     description
124       "Identity for the ber-test rpc";
125   }
126
127   grouping ber-measurement {
128     leaf ber-passed {
129       type boolean;
130     }
131     leaf target-prefec-ber {
132       type decimal64 {
133         fraction-digits 4;
134       }
135     }
136     leaf measured-prefec-ber {
137       type decimal64 {
138         fraction-digits 4;
139       }
140     }
141   }
142
143   grouping ber-test-result-details-container {
144     container ber-results {
145       uses org-openroadm-common-ber-test:ber-test-options-container;
146       leaf line-rate {
147         type uint64;
148         units "seconds";
149       }
150       container a-end-ber-measurement {
151         uses ber-measurement;
152       }
153       container z-end-ber-measurement {
154         uses ber-measurement;
155       }
156     }
157   }
158
159   grouping ber-test-complex-result-details-container {
160     container ber-test-result-details {
161       list supporting-service-details {
162         key "index";
163         leaf index {
164           type uint16;
165           description
166             "Local id for list ";
167         }
168         uses org-openroadm-common-service-types:service-identifiers-container;
169         uses org-openroadm-common-service-types:service-ends-container;
170         leaf line-rate {
171           type uint64;
172           units "seconds";
173         }
174         container a-end-ber-measurement {
175           uses ber-measurement;
176         }
177         container z-end-ber-measurement {
178           uses ber-measurement;
179         }
180       }
181     }
182   }
183
184   grouping ber-test-complex-result-container {
185     container ber-results {
186       uses org-openroadm-common-ber-test:ber-test-options-container;
187       uses ber-test-complex-result-details-container;
188     }
189   }
190
191   rpc ber-test {
192     description
193       "This is the ber-test rpc. It is supported for a service in the service-list.";
194     input {
195       uses org-openroadm-common-service-types:sdnc-request-header;
196       leaf service-name {
197         type string;
198         mandatory true;
199       }
200       uses org-openroadm-common-ber-test:ber-test-options-container;
201     }
202     output {
203       uses org-openroadm-common-service-types:configuration-response-common;
204     }
205   }
206
207   rpc complex-ber-test {
208     description
209       "This is the complex-ber-test rpc. It is supported for a service in the service-list.";
210     input {
211       uses org-openroadm-common-service-types:sdnc-request-header;
212       leaf service-name {
213         type string;
214         mandatory true;
215       }
216       uses org-openroadm-common-ber-test:complex-ber-test-options-container;
217     }
218     output {
219       uses org-openroadm-common-service-types:configuration-response-common;
220     }
221   }
222
223   rpc service-rpc-ber-test-async-callback {
224     description
225       "This is the callback notification that the controller invokes on the carrier system.";
226     input {
227       uses org-openroadm-common-service-types:configuration-response-common;
228       uses org-openroadm-common-service-types:service-identifiers-container;
229       leaf rpc-timestamp {
230         type yang:date-and-time;
231         units "seconds";
232         description
233           "timestamp of the initial rpc command that invoked the test";
234       }
235       leaf timestamp {
236         type yang:date-and-time;
237         units "seconds";
238         description
239           "timestamp of the callback/notification.";
240       }
241       uses ber-test-result-details-container;
242     }
243     output {
244       uses org-openroadm-common-service-types:configuration-response-common;
245     }
246   }
247
248   rpc complex-service-rpc-ber-test-async-callback {
249     description
250       "This is the callback notification that the controller invokes on the carrier system.";
251     input {
252       uses org-openroadm-common-service-types:configuration-response-common;
253       uses org-openroadm-common-service-types:service-identifiers-container;
254       leaf rpc-timestamp {
255         type yang:date-and-time;
256         units "seconds";
257         description
258           "timestamp of the initial rpc command that invoked the test";
259       }
260       leaf timestamp {
261         type yang:date-and-time;
262         units "seconds";
263         description
264           "timestamp of the callback/notification.";
265       }
266       uses ber-test-complex-result-container;
267     }
268     output {
269       uses org-openroadm-common-service-types:configuration-response-common;
270     }
271   }
272
273   notification service-notification-ber-test {
274     description
275       "This is the callback notification that the controller invokes on the carrier system.";
276     uses org-openroadm-common-service-types:configuration-response-common;
277     uses org-openroadm-common-service-types:service-identifiers-container;
278     leaf rpc-timestamp {
279       type yang:date-and-time;
280       units "seconds";
281       description
282         "timestamp of the initial rpc command that invoked the test";
283     }
284     leaf timestamp {
285       type yang:date-and-time;
286       units "seconds";
287       description
288         "timestamp of the callback/notification.";
289     }
290     uses ber-test-result-details-container;
291   }
292
293   notification complex-service-notification-ber-test {
294     description
295       "This is the callback notification that the controller invokes on the carrier system.";
296     uses org-openroadm-common-service-types:configuration-response-common;
297     uses org-openroadm-common-service-types:service-identifiers-container;
298     leaf rpc-timestamp {
299       type yang:date-and-time;
300       units "seconds";
301       description
302         "timestamp of the initial rpc command that invoked the test";
303     }
304     leaf timestamp {
305       type yang:date-and-time;
306       units "seconds";
307       description
308         "timestamp of the callback/notification.";
309     }
310     uses ber-test-complex-result-details-container;
311   }
312 }