migrate sdnr features to phosphorus
[ccsdk/features.git] / sdnr / wt / devicemanager-onap / onf14 / provider / src / test / resources / hybrid-mw-structure-2-0.yang
1 module hybrid-mw-structure-2-0 {\r
2   yang-version 1.1;\r
3   namespace "urn:onf:yang:hybrid-mw-structure-2-0";\r
4   prefix hybrid-mw-structure;\r
5 \r
6   import ietf-yang-types {\r
7     prefix yang;\r
8   }\r
9   import core-model-1-4 {\r
10     prefix core-model;\r
11   }\r
12 \r
13   organization\r
14     "openBackhaul.com proposal to Open Networking Foundation (ONF)";\r
15   contact\r
16     "WG Web : https://github.com/openBackhaul/Overview\r
17      WG List: HybridMwStructure@openBackhaul.com\r
18      Editor : Thorsten Heinze\r
19      Email  : Thorsten.Heinze@openBackhaul.com";\r
20   description\r
21     "Technology specific interface definition for a hybrid microwave structure on a physical media\r
22 \r
23      Copyright 2019 openBackhaul.com\r
24 \r
25      Licensed under the Apache License, Version 2.0 (the 'License');\r
26      you may not use this file except in compliance with the License.\r
27      You may obtain a copy of the License at\r
28      http://www.apache.org/licenses/LICENSE-2.0\r
29      Unless required by applicable law or agreed to in writing, software\r
30      distributed under the License is distributed on an 'AS IS' BASIS,\r
31      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
32      See the License for the specific language governing permissions and\r
33      limitations under the License.";\r
34 \r
35   revision 2020-01-22 {\r
36     description\r
37       "Model for the Transport SDN Pilot at Telefonica Germany.\r
38        Please view https://github.com/openBackhaul/hybridMwStructure/issues for changes.";\r
39     reference\r
40       "https://github.com/openBackhaul/hybridMwStructure/tree/tsp: Model definition\r
41        https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
42   }\r
43   revision 2019-11-23 {\r
44     description\r
45       "Model for the Transport SDN Pilot at Telefonica Germany.\r
46        Please view https://github.com/openBackhaul/hybridMwStructure/issues for changes.";\r
47     reference\r
48       "https://github.com/openBackhaul/hybridMwStructure/tree/tsp: Model definition\r
49        https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
50   }\r
51   revision 2019-07-08 {\r
52     description\r
53       "Model for the Transport SDN Pilot at Telefonica Germany.\r
54        Please view https://github.com/openBackhaul/hybridMwStructure/issues for changes.";\r
55     reference\r
56       "https://github.com/openBackhaul/hybridMwStructure/tree/tsp: Model definition\r
57        https://github.com/openBackhaul/onfCoreIm/tree/tsp: ONF TR-512 Core IM incl. Profile and enhanced Equipment definition";\r
58   }\r
59 \r
60   identity LAYER_PROTOCOL_NAME_TYPE_HYBRID_MW_STRUCTURE_LAYER {\r
61     base core-model:LAYER_PROTOCOL_NAME_TYPE;\r
62     description\r
63       "none";\r
64   }\r
65 \r
66   augment "/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol" {\r
67     when "derived-from-or-self(./core-model:layer-protocol-name, 'hybrid-mw-structure:LAYER_PROTOCOL_NAME_TYPE_HYBRID_MW_STRUCTURE_LAYER')";\r
68     uses hybrid-mw-structure-lp-spec;\r
69     description\r
70       "none";\r
71   }\r
72 \r
73   /****************************************\r
74    * package notifications\r
75    **************************************/ \r
76 \r
77   notification object-creation-notification {\r
78     uses object-creation-notification;\r
79     description\r
80       "none";\r
81   }\r
82 \r
83   grouping object-creation-notification {\r
84     leaf counter {\r
85       type int32;\r
86       default "-1";\r
87       config false;\r
88       description\r
89         "Counts object creation notifications.";\r
90     }\r
91     leaf timestamp {\r
92       type yang:date-and-time;\r
93       default "2010-11-20T14:00:00+01:00";\r
94       config false;\r
95       description\r
96         "none";\r
97     }\r
98     leaf object-id-ref {\r
99       type leafref {\r
100         path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";\r
101         require-instance false;\r
102       }\r
103       config false;\r
104       description\r
105         "none";\r
106     }\r
107     leaf object-type {\r
108       type string;\r
109       default "Type of created object not specified.";\r
110       config false;\r
111       description\r
112         "none";\r
113     }\r
114     description\r
115       "none";\r
116   }\r
117 \r
118   notification object-deletion-notification {\r
119     uses object-deletion-notification;\r
120     description\r
121       "none";\r
122   }\r
123 \r
124   grouping object-deletion-notification {\r
125     leaf counter {\r
126       type int32;\r
127       default "-1";\r
128       config false;\r
129       description\r
130         "Counts object deletion notifications.";\r
131     }\r
132     leaf timestamp {\r
133       type yang:date-and-time;\r
134       default "2010-11-20T14:00:00+01:00";\r
135       config false;\r
136       description\r
137         "none";\r
138     }\r
139     leaf object-id-ref {\r
140       type leafref {\r
141         path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";\r
142         require-instance false;\r
143       }\r
144       config false;\r
145       description\r
146         "none";\r
147     }\r
148     description\r
149       "none";\r
150   }\r
151 \r
152   notification attribute-value-changed-notification {\r
153     uses attribute-value-changed-notification;\r
154     description\r
155       "none";\r
156   }\r
157 \r
158   grouping attribute-value-changed-notification {\r
159     leaf counter {\r
160       type int32;\r
161       default "-1";\r
162       config false;\r
163       description\r
164         "Counts attribute value changed notifications.";\r
165     }\r
166     leaf timestamp {\r
167       type yang:date-and-time;\r
168       default "2010-11-20T14:00:00+01:00";\r
169       config false;\r
170       description\r
171         "none";\r
172     }\r
173     leaf object-id-ref {\r
174       type leafref {\r
175         path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";\r
176         require-instance false;\r
177       }\r
178       config false;\r
179       description\r
180         "none";\r
181     }\r
182     leaf attribute-name {\r
183       type string;\r
184       default "Attribute name not specified.";\r
185       config false;\r
186       description\r
187         "Name of the attribute that has been changed.";\r
188     }\r
189     leaf new-value {\r
190       type string;\r
191       default "New value not specified.";\r
192       config false;\r
193       description\r
194         "Attribute value converted to a string (xml, json, ...)";\r
195     }\r
196     description\r
197       "none";\r
198   }\r
199 \r
200   notification problem-notification {\r
201     uses problem-notification;\r
202     description\r
203       "none";\r
204   }\r
205 \r
206   grouping problem-notification {\r
207     leaf counter {\r
208       type int32;\r
209       default "-1";\r
210       config false;\r
211       description\r
212         "Counts problem notifications";\r
213     }\r
214     leaf timestamp {\r
215       type yang:date-and-time;\r
216       default "2010-11-20T14:00:00+01:00";\r
217       config false;\r
218       description\r
219         "none";\r
220     }\r
221     leaf object-id-ref {\r
222       type leafref {\r
223         path "/core-model:control-construct/core-model:logical-termination-point/core-model:uuid";\r
224         require-instance false;\r
225       }\r
226       config false;\r
227       description\r
228         "none";\r
229     }\r
230     leaf problem {\r
231       type string;\r
232       default "Problem name not specified.";\r
233       config false;\r
234       description\r
235         "Name of the problem according to supportedAlarmList";\r
236     }\r
237     leaf severity {\r
238       type severity-type;\r
239       default "SEVERITY_TYPE_WARNING";\r
240       config false;\r
241       description\r
242         "Severity of the problem according to problemKindSeverity";\r
243     }\r
244     description\r
245       "none";\r
246   }\r
247 \r
248   /****************************************\r
249    * grouping statements for object classes\r
250    **************************************/ \r
251   /****************************************\r
252    * package super-classes\r
253    **************************************/ \r
254 \r
255   grouping current-problem {\r
256     leaf sequence-number {\r
257       type int16;\r
258       config false;\r
259       description\r
260         "Unique sequence number of the current problem object.";\r
261     }\r
262     leaf timestamp {\r
263       type yang:date-and-time;\r
264       default "2010-11-20T14:00:00+01:00";\r
265       config false;\r
266       description\r
267         "Time when the alarm was raised.";\r
268     }\r
269     leaf problem-severity {\r
270       type severity-type;\r
271       default "SEVERITY_TYPE_NOT_YET_DEFINED";\r
272       config false;\r
273       description\r
274         "Severity of the alarm.";\r
275     }\r
276     description\r
277       "none";\r
278   }\r
279 \r
280   grouping current-performance {\r
281     leaf timestamp {\r
282       type yang:date-and-time;\r
283       default "2010-11-20T14:00:00+01:00";\r
284       config false;\r
285       description\r
286         "The timestamp associated with when the current data was collected.";\r
287     }\r
288     leaf suspect-interval-flag {\r
289       type boolean;\r
290       default "false";\r
291       config false;\r
292       description\r
293         "This attribute is used to indicate that the performance data for the current period may not be reliable. Some reasons for this to occur are:\r
294             â€“ Suspect data were detected by the actual resource doing data collection.\r
295             â€“ Transition of the administrativeState attribute to/from the 'lock' state.\r
296             â€“ Transition of the operationalState to/from the 'disabled' state.\r
297             â€“ Scheduler setting that inhibits the collection function.\r
298             â€“ The performance counters were reset during the interval.\r
299             â€“ The currentData (or subclass) object instance was created during the monitoring period.";\r
300     }\r
301     leaf elapsed-time {\r
302       type int64;\r
303       units "s";\r
304       default "-1";\r
305       config false;\r
306       description\r
307         "Number of seconds that elapsed since the last reset of the counter.";\r
308     }\r
309     leaf scanner-id {\r
310       type string;\r
311       default "Scanner ID not defined.";\r
312       config false;\r
313       description\r
314         "none";\r
315     }\r
316     leaf granularity-period {\r
317       type granularity-period-type;\r
318       config false;\r
319       description\r
320         "Time period between reset of the underlying counter.";\r
321     }\r
322     description\r
323       "none";\r
324   }\r
325 \r
326   grouping historical-performance {\r
327     leaf suspect-interval-flag {\r
328       type boolean;\r
329       default "false";\r
330       config false;\r
331       description\r
332         "This attribute indicates that the data collected during the interval is suspect.";\r
333     }\r
334     leaf history-data-id {\r
335       type string;\r
336       default "History Data ID not defined.";\r
337       config false;\r
338       description\r
339         "none";\r
340     }\r
341     leaf granularity-period {\r
342       type granularity-period-type;\r
343       config false;\r
344       description\r
345         "Time period between reset of the underlying counter.";\r
346     }\r
347     leaf period-end-time {\r
348       type yang:date-and-time;\r
349       config false;\r
350       description\r
351         "Time when the counter values have been recorded and the counter reset.";\r
352     }\r
353     description\r
354       "none";\r
355   }\r
356 \r
357   grouping hybrid-mw-structure-lp-spec {\r
358     container hybrid-mw-structure-pac {\r
359       uses hybrid-mw-structure-pac;\r
360       description\r
361         "none";\r
362     }\r
363     description\r
364       "The HybridMwStructureLpSpec and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM and Ethernet traffic.";\r
365   }\r
366 \r
367   grouping hybrid-mw-structure-pac {\r
368     container hybrid-mw-structure-capability {\r
369       config false;\r
370       uses hybrid-mw-structure-capability;\r
371       description\r
372         "none";\r
373     }\r
374     container hybrid-mw-structure-configuration {\r
375       uses hybrid-mw-structure-configuration;\r
376       description\r
377         "none";\r
378     }\r
379     container hybrid-mw-structure-status {\r
380       config false;\r
381       uses hybrid-mw-structure-status;\r
382       description\r
383         "none";\r
384     }\r
385     container hybrid-mw-structure-current-problems {\r
386       config false;\r
387       uses hybrid-mw-structure-current-problems;\r
388       description\r
389         "none";\r
390     }\r
391     container hybrid-mw-structure-current-performance {\r
392       config false;\r
393       uses hybrid-mw-structure-current-performance;\r
394       description\r
395         "none";\r
396     }\r
397     container hybrid-mw-structure-historical-performances {\r
398       config false;\r
399       uses hybrid-mw-structure-historical-performances;\r
400       description\r
401         "none";\r
402     }\r
403     description\r
404       "The HybridMwStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM and Ethernet traffic.";\r
405   }\r
406 \r
407   grouping hybrid-mw-structure-capability {\r
408     list supported-tdm-structure-kind-list {\r
409       key "tdm-structure-name";\r
410       config false;\r
411       min-elements 1;\r
412       uses tdm-structure-kind;\r
413       description\r
414         "Lists the TDM frame types that are supported.";\r
415     }\r
416     leaf-list supported-alarm-list {\r
417       type string;\r
418       default "Supported alarms not yet defined.";\r
419       config false;\r
420       description\r
421         "Available alarms to be listed. Mandatory:none. Names are to be separated by commas. Further alarms might be added by the vendor.";\r
422     }\r
423     leaf performance-monitoring-is-avail {\r
424       type boolean;\r
425       default "false";\r
426       config false;\r
427       description\r
428         "1 = Collection and aggregation of performance values is available.";\r
429     }\r
430     description\r
431       "Describes the logical structuring of the physical capacity provided by a hybrid microwave device (TDM + Ethernet). Segmentation is available. TDM transport is available.";\r
432   }\r
433 \r
434   grouping hybrid-mw-structure-configuration {\r
435     leaf tdm-structure-kind {\r
436       type leafref {\r
437         path "/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol/hybrid-mw-structure:hybrid-mw-structure-pac/hybrid-mw-structure:hybrid-mw-structure-capability/hybrid-mw-structure:supported-tdm-structure-kind-list/hybrid-mw-structure:tdm-structure-name";\r
438         require-instance false;\r
439       }\r
440       must 'boolean(/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol/hybrid-mw-structure:hybrid-mw-structure-pac/hybrid-mw-structure:hybrid-mw-structure-capability/hybrid-mw-structure:supported-tdm-structure-kind-list[tdm-structure-name=current()])';\r
441       description\r
442         "TDM frame to be applied.";\r
443     }\r
444     leaf number-of-tdm-segments-to-be-reserved {\r
445       type int8;\r
446       default "-1";\r
447       description\r
448         "Allows to configure the number of segments reserved for TDM frames of the type specified in HybridMwStructure::HybridMwStructureConfiguration::structureType";\r
449     }\r
450     list problem-kind-severity-list {\r
451       key "problem-kind-name";\r
452       uses problem-kind-severity-type;\r
453       description\r
454         "Severity of the type of problem to be configured.";\r
455     }\r
456     list g-826-threshold-cross-alarm-list {\r
457       key "g-826-value-kind granularity-period";\r
458       uses g-826-threshold-cross-alarm-type;\r
459       description\r
460         "List of G826 related threshold cross alarms to be configured.";\r
461     }\r
462     leaf clearing-threshold-cross-alarms-is-on {\r
463       type boolean;\r
464       default "false";\r
465       description\r
466         "Setting this bit is clearing all the currently active threshold cross alarms.";\r
467     }\r
468     leaf performance-monitoring-is-on {\r
469       type boolean;\r
470       default "false";\r
471       description\r
472         "Enables measurement, collection, storage and access to performance data.";\r
473     }\r
474     description\r
475       "none";\r
476   }\r
477 \r
478   grouping hybrid-mw-structure-status {\r
479     list segment-status-list {\r
480       key "segment-status-type-id";\r
481       config false;\r
482       min-elements 1;\r
483       uses segment-status-type;\r
484       description\r
485         "Status of each segment (all TDM and one Ethernet). Multiplicity = HybridMwStructure::StructureConfiguration::tdmReservedNumberOfSegments + 1";\r
486     }\r
487     leaf performance-monitoring-is-up {\r
488       type boolean;\r
489       default "false";\r
490       config false;\r
491       description\r
492         "1 = Performance values are currently collected and aggregated.";\r
493     }\r
494     description\r
495       "none";\r
496   }\r
497 \r
498   grouping hybrid-mw-structure-current-problems {\r
499     list current-problem-list {\r
500       key "sequence-number";\r
501       config false;\r
502       uses structure-current-problem-type;\r
503       description\r
504         "none";\r
505     }\r
506     leaf number-of-current-problems {\r
507       type int8;\r
508       default "-1";\r
509       config false;\r
510       description\r
511         "Number of alarms, which are currently active on this interface.";\r
512     }\r
513     leaf time-of-latest-change {\r
514       type yang:date-and-time;\r
515       default "2010-11-20T14:00:00+01:00";\r
516       config false;\r
517       description\r
518         "Date and time when the list of alarms has been changed for the last time.";\r
519     }\r
520     description\r
521       "none";\r
522   }\r
523 \r
524   grouping hybrid-mw-structure-current-performance {\r
525     list current-performance-data-list {\r
526       key "granularity-period";\r
527       config false;\r
528       min-elements 1;\r
529       max-elements 2;\r
530       uses structure-current-performance-type;\r
531       description\r
532         "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
533     }\r
534     leaf number-of-current-performance-sets {\r
535       type int8;\r
536       default "-1";\r
537       config false;\r
538       description\r
539         "Number of sets of current performance values, which are provided in the list.";\r
540     }\r
541     description\r
542       "Aggregated performance information of the structure of a hybrid microwave at a particular moment.";\r
543   }\r
544 \r
545   grouping hybrid-mw-structure-historical-performances {\r
546     list historical-performance-data-list {\r
547       key "granularity-period period-end-time";\r
548       config false;\r
549       uses structure-historical-performance-type;\r
550       description\r
551         "none";\r
552     }\r
553     leaf number-of-historical-performance-sets {\r
554       type int16;\r
555       default "-1";\r
556       config false;\r
557       description\r
558         "Number of sets of historical performance values, which are provided in the list.";\r
559     }\r
560     leaf time-of-latest-change {\r
561       type yang:date-and-time;\r
562       default "2010-11-20T14:00:00+01:00";\r
563       config false;\r
564       description\r
565         "Date and time when the list of sets of historical performance values has been changed for the last time (e.g. new one added or existing one deleted).";\r
566     }\r
567     description\r
568       "Aggregated performance information of the structure of a hybrid microwave for a pre-defined measurement interval.";\r
569   }\r
570 \r
571   grouping tdm-structure-kind {\r
572     leaf tdm-structure-name {\r
573       type string;\r
574       config false;\r
575       description\r
576         "Names to be chosen from the following list: 'e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";\r
577     }\r
578     leaf tdm-segment-size {\r
579       type int32;\r
580       units "kbit/s";\r
581       default "-1";\r
582       config false;\r
583       description\r
584         "Size of the TDM segment in kbit/s. Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";\r
585     }\r
586     leaf max-number-of-segments-reservable {\r
587       type int8;\r
588       units "segments";\r
589       default "-1";\r
590       config false;\r
591       description\r
592         "Device specific maximum number of segments (not depending on current air interface configuration) that can be reserved for this type of segment on a single air interface.";\r
593     }\r
594     description\r
595       "none";\r
596   }\r
597 \r
598   /****************************************\r
599    * typedef statements\r
600    **************************************/ \r
601 \r
602   typedef g-826-type {\r
603     type identityref {\r
604       base G_826_TYPE;\r
605     }\r
606     description\r
607       "none";\r
608   }\r
609 \r
610   /*********************************************\r
611    * grouping statements for complex data types\r
612    *******************************************/ \r
613 \r
614   identity G_826_TYPE {\r
615     description\r
616       "none";\r
617   }\r
618 \r
619   identity G_826_TYPE_ES {\r
620     base G_826_TYPE;\r
621     description\r
622       "Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::es .";\r
623   }\r
624 \r
625   identity G_826_TYPE_SES {\r
626     base G_826_TYPE;\r
627     description\r
628       "Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::ses .";\r
629   }\r
630 \r
631   identity G_826_TYPE_CSES {\r
632     base G_826_TYPE;\r
633     description\r
634       "Consecutive Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::cses .";\r
635   }\r
636 \r
637   identity G_826_TYPE_UAS {\r
638     base G_826_TYPE;\r
639     description\r
640       "Unavailable Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::unavailability.";\r
641   }\r
642 \r
643   identity G_826_TYPE_NOT_SPECIFIED {\r
644     base G_826_TYPE;\r
645     description\r
646       "none";\r
647   }\r
648 \r
649   identity GRANULARITY_PERIOD_TYPE {\r
650     description\r
651       "none";\r
652   }\r
653 \r
654   identity GRANULARITY_PERIOD_TYPE_UNKNOWN {\r
655     base GRANULARITY_PERIOD_TYPE;\r
656     description\r
657       "none";\r
658   }\r
659 \r
660   identity GRANULARITY_PERIOD_TYPE_PERIOD-15-MIN {\r
661     base GRANULARITY_PERIOD_TYPE;\r
662     description\r
663       "none";\r
664   }\r
665 \r
666   identity GRANULARITY_PERIOD_TYPE_PERIOD-24-HOURS {\r
667     base GRANULARITY_PERIOD_TYPE;\r
668     description\r
669       "none";\r
670   }\r
671 \r
672   identity GRANULARITY_PERIOD_TYPE_NOT_YET_DEFINED {\r
673     base GRANULARITY_PERIOD_TYPE;\r
674     description\r
675       "none";\r
676   }\r
677 \r
678   identity SEVERITY_TYPE {\r
679     description\r
680       "none";\r
681   }\r
682 \r
683   identity SEVERITY_TYPE_NON_ALARMED {\r
684     base SEVERITY_TYPE;\r
685     description\r
686       "none";\r
687   }\r
688 \r
689   identity SEVERITY_TYPE_WARNING {\r
690     base SEVERITY_TYPE;\r
691     description\r
692       "none";\r
693   }\r
694 \r
695   identity SEVERITY_TYPE_MINOR {\r
696     base SEVERITY_TYPE;\r
697     description\r
698       "none";\r
699   }\r
700 \r
701   identity SEVERITY_TYPE_MAJOR {\r
702     base SEVERITY_TYPE;\r
703     description\r
704       "none";\r
705   }\r
706 \r
707   identity SEVERITY_TYPE_CRITICAL {\r
708     base SEVERITY_TYPE;\r
709     description\r
710       "none";\r
711   }\r
712 \r
713   identity SEVERITY_TYPE_NOT_YET_DEFINED {\r
714     base SEVERITY_TYPE;\r
715     description\r
716       "none";\r
717   }\r
718 \r
719   identity OPERATIONAL_STATE_TYPE {\r
720     description\r
721       "none";\r
722   }\r
723 \r
724   identity OPERATIONAL_STATE_TYPE_ENABLED {\r
725     base OPERATIONAL_STATE_TYPE;\r
726     description\r
727       "none";\r
728   }\r
729 \r
730   identity OPERATIONAL_STATE_TYPE_DISABLED {\r
731     base OPERATIONAL_STATE_TYPE;\r
732     description\r
733       "none";\r
734   }\r
735 \r
736   identity OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED {\r
737     base OPERATIONAL_STATE_TYPE;\r
738     description\r
739       "none";\r
740   }\r
741 \r
742   /****************************************\r
743    * package super-types\r
744    **************************************/ \r
745 \r
746   typedef granularity-period-type {\r
747     type identityref {\r
748       base GRANULARITY_PERIOD_TYPE;\r
749     }\r
750     description\r
751       "The enumeration with the options for granularity period of the performance data.";\r
752   }\r
753 \r
754   typedef severity-type {\r
755     type identityref {\r
756       base SEVERITY_TYPE;\r
757     }\r
758     description\r
759       "According to ITU-T M.3160";\r
760   }\r
761 \r
762   typedef operational-state-type {\r
763     type identityref {\r
764       base OPERATIONAL_STATE_TYPE;\r
765     }\r
766     description\r
767       "The list of valid operational states for the connection.";\r
768   }\r
769 \r
770   grouping problem-kind-severity-type {\r
771     leaf problem-kind-name {\r
772       type string;\r
773       description\r
774         "Name of the alarm according to supportedAlarmList";\r
775     }\r
776     leaf problem-kind-severity {\r
777       type severity-type;\r
778       default "SEVERITY_TYPE_NOT_YET_DEFINED";\r
779       description\r
780         "Severity of this type of alarm.";\r
781     }\r
782     description\r
783       "none";\r
784   }\r
785 \r
786   grouping g-826-threshold-cross-alarm-type {\r
787     leaf g-826-value-kind {\r
788       type g-826-type;\r
789       description\r
790         "Kind of performance value that shall be equipped with a threshold alarm.";\r
791     }\r
792     leaf alarm-raising-threshold {\r
793       type int32;\r
794       units "s";\r
795       default "-1";\r
796       description\r
797         "Number of events required for raising the threshold cross alarm.";\r
798     }\r
799     leaf alarm-clearing-threshold {\r
800       type int32;\r
801       units "s";\r
802       default "-1";\r
803       description\r
804         "Number of events required for clearing the threshold cross alarm.";\r
805     }\r
806     leaf granularity-period {\r
807       type granularity-period-type;\r
808       description\r
809         "Period of the performance data collection.";\r
810     }\r
811     description\r
812       "Allows defining a threshold cross alarm.\n";\r
813   }\r
814 \r
815   grouping segment-status-type {\r
816     leaf segment-status-type-id {\r
817       type int16;\r
818       config false;\r
819       description\r
820         "none";\r
821     }\r
822     leaf segment-is-reserved-for-tdm {\r
823       type boolean;\r
824       default "false";\r
825       config false;\r
826       description\r
827         "The number of segments, which is configured by Structure::StructureConfiguration::tdmReservedNumberOfSegements, has to be reserved for TDM. Starting from the lowest index value, these segments have to be marked with a 'true' in segmentIsReservedForTdm.\n";\r
828     }\r
829     leaf operational-status {\r
830       type operational-state-type;\r
831       default "OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED";\r
832       config false;\r
833       description\r
834         "Current operational status of each segment.";\r
835     }\r
836     description\r
837       "none";\r
838   }\r
839 \r
840   grouping structure-current-problem-type {\r
841     leaf problem-name {\r
842       type string;\r
843       default "Problem name not specified.";\r
844       config false;\r
845       description\r
846         "Name of the alarm according to Structure::StructureCapability::supportedAlarms";\r
847     }\r
848     uses current-problem;\r
849     description\r
850       "none";\r
851   }\r
852 \r
853   grouping structure-performance-type {\r
854     leaf time-period {\r
855       type int32;\r
856       units "s";\r
857       default "-1";\r
858       config false;\r
859       description\r
860         "Total length of the measurement period in seconds.";\r
861     }\r
862     leaf es {\r
863       type int32;\r
864       units "s";\r
865       default "-1";\r
866       config false;\r
867       description\r
868         "Number of errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
869     }\r
870     leaf ses {\r
871       type int32;\r
872       units "s";\r
873       default "-1";\r
874       config false;\r
875       description\r
876         "Number of severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
877     }\r
878     leaf cses {\r
879       type int32;\r
880       units "s";\r
881       default "-1";\r
882       config false;\r
883       description\r
884         "Number of consecutive severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
885     }\r
886     leaf unavailability {\r
887       type int32;\r
888       units "s";\r
889       default "-1";\r
890       config false;\r
891       description\r
892         "Total time of unavailability in seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
893     }\r
894     leaf rx-level-min {\r
895       type int8;\r
896       units "dBm";\r
897       default "99";\r
898       config false;\r
899       description\r
900         "Minimum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";\r
901     }\r
902     leaf rx-level-max {\r
903       type int8;\r
904       units "dBm";\r
905       default "99";\r
906       config false;\r
907       description\r
908         "Maximum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";\r
909     }\r
910     leaf rx-level-avg {\r
911       type int8;\r
912       units "dBm";\r
913       default "99";\r
914       config false;\r
915       description\r
916         "Averaged receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";\r
917     }\r
918     description\r
919       "Consolidated performance information of the Structure.";\r
920   }\r
921 \r
922   grouping structure-current-performance-type {\r
923     container performance-data {\r
924       config false;\r
925       uses structure-performance-type;\r
926       description\r
927         "none";\r
928     }\r
929     uses current-performance;\r
930     description\r
931       "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
932   }\r
933 \r
934   grouping structure-historical-performance-type {\r
935     container performance-data {\r
936       config false;\r
937       uses structure-performance-type;\r
938       description\r
939         "none";\r
940     }\r
941     uses historical-performance;\r
942     description\r
943       "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
944   }\r
945 }\r