add python compatibility module
[ccsdk/apps.git] / sdnr / model / yang / g.874.1-model@2017-03-20.yang
1 module g.874.1-model {
2     namespace "urn:onf:params:xml:ns:yang:g.874.1-model";
3     prefix g.874.1-model;
4
5     import core-model {
6         prefix core-model;
7     }
8     import ietf-yang-types {
9         prefix yang;
10     }
11
12     organization "ONF (Open Networking Foundation) Open Transport Working Group - Wireless Transport Project";
13     contact "WG Web: <https://www.opennetworking.org/technical-communities/areas/specification/1931-optical-transport>
14              WG List:  <mailto:wireless-transport@login.opennetworking.org>
15              WG Chair: Lyndon Ong
16                        <mailto:lyong@ciena.com>
17              WG Chair: Giorgio Cazzaniga
18                        <mailto:giorgio.cazzaniga@sm-optics.com>
19              Editors:  Thorsten Heinze
20                        <mailto:thorsten.heinze@telefonica.com>
21                        Martin Skorupski
22                        <mailto:martin.skorupski@highstreet-technologies.com>";
23     description "<p>Version 2.02; outcome of the 10/2013 Nuremberg meeting.<br>Version 2.03; updates for Geneva 03-2014<br>Version 2.04; updates for Shanghai 09-2014<br>Version 2.05; input to Geneva 11-2014<br>Version 2.06; output from Geneva 11-2014<br>Version 2.07; using OpenProfile 3-2015<br>Version 2.08; output from Geneva 06-2015</p>";
24     revision 2017-03-20 {
25         description "Initial version";
26         reference "ONF TR 532: A YANG Data Model for Wireless Networks.";
27     }
28     /***********************
29     * package object-classes
30     **********************/ 
31         grouping otn-current-data-g {
32             leaf timestamp {
33                 type date-and-time;
34                 description "The timestamp associated with when the current data was collected.";
35             }
36             uses q.822-current-data-g;
37             description "This object class is an abstract class from which the OTN layer-specific CurrentData object classes are inherited. This object class is a subclass of the Q.822 CurrentData object class, which in turn is a subclass of X.739 Scanner object class. It inherits the following attributes: scannerId, operationalState, granularityPeriod, administrativeState, suspectIntervalFlag, elapsedTime, observedObjectClass, and observedObjectInstance.";
38         }
39         grouping otn-history-data-g {
40             leaf suspect-interval-flag {
41                 type boolean;
42                 default false;
43                 description "This attribute indicates that the data collected during the interval is suspect.";
44             }
45             uses q.822-history-data-g;
46             description "This object class is an abstract class from which the OTN layer-specific HistoryData object classes are inherited. ";
47         }
48
49     /***********************
50     * package type-definitions
51     **********************/ 
52         typedef directionality {
53             type enumeration {
54                 enum sink {
55                     description "none";
56                 }
57                 enum source {
58                     description "none";
59                 }
60                 enum bidirectional {
61                     description "none";
62                 }
63             }
64             description "The enumeration with the options for directionality of the termination point.";
65         }
66         typedef gcc-access {
67             type enumeration {
68                 enum gcc1 {
69                     description "none";
70                 }
71                 enum gcc2 {
72                     description "none";
73                 }
74                 enum gcc1-and-gcc2 {
75                     description "none";
76                 }
77             }
78             description "This enumeration indicates the GCC access represented by the entity.";
79         }
80         typedef operational-state {
81             type enumeration {
82                 enum enabled {
83                     description "none";
84                 }
85                 enum disabled {
86                     description "none";
87                 }
88             }
89             description "The list of valid operational states for the connection.";
90         }
91         typedef oper-type {
92             type enumeration {
93                 enum revertive {
94                     description "none";
95                 }
96                 enum non-revertive {
97                     description "none";
98                 }
99             }
100             description "The operation type associated with the protection mechanism (either non-revertive or revertive).";
101         }
102         typedef ext-cmd-operation {
103             type enumeration {
104                 enum exercise {
105                     description "none";
106                 }
107                 enum manual-switch {
108                     description "none";
109                 }
110                 enum forced-switch {
111                     description "none";
112                 }
113                 enum lockout {
114                     description "none";
115                 }
116                 enum release-of-manual-switch {
117                     description "none";
118                 }
119                 enum release-of-forced-switch {
120                     description "none";
121                 }
122                 enum release-of-lockout {
123                     description "none";
124                 }
125             }
126             description "This enumeration contains the options for the actions that instruct the protection system for performing specific protection switching operations.";
127         }
128         typedef administrative-state {
129             type enumeration {
130                 enum unlocked {
131                     description "none";
132                 }
133                 enum locked {
134                     description "none";
135                 }
136                 enum shutting-down {
137                     description "none";
138                 }
139             }
140             description "For more information on Administrative State, See ITU-T Recs. X.731 and M.3100.";
141         }
142         typedef oc-tk-nim-k-bit-rate {
143             type enumeration {
144                 enum 2.5-g {
145                     description "none";
146                 }
147                 enum 10-g {
148                     description "none";
149                 }
150                 enum 40-g {
151                     description "none";
152                 }
153                 enum 100-g {
154                     description "none";
155                 }
156             }
157             description "Provides an enumeration with the meaning of each 'k' value.";
158         }
159         typedef tim-det-mo {
160             type enumeration {
161                 enum dapi {
162                     description "none";
163                 }
164                 enum sapi {
165                     description "none";
166                 }
167                 enum both {
168                     description "none";
169                 }
170             }
171             description "List of modes for trace identifier mismatch detection.";
172         }
173         typedef oc-tk-nim-problem-list {
174             type enumeration {
175                 enum los-p {
176                     description "Loss of Signal -- Payload";
177                 }
178                 enum oci {
179                     description "Open Connection Indicator";
180                 }
181                 enum ssf-p {
182                     description "Server Signal Failure -- Payload -- can not co-exist with SSF or SSF-O";
183                 }
184                 enum ssf-o {
185                     description "Server Signal Failure -- Overhead; can not co-exist with SSF or SSF-P";
186                 }
187                 enum ssf {
188                     description "Server Signal Failure; can not co-exist with SSF-P or SSF-O";
189                 }
190                 enum tim {
191                     description "Trail Trace Identifier Mismatch";
192                 }
193                 enum deg {
194                     description "Signal Degraded";
195                 }
196                 enum bdi {
197                     description "Backward Defect Indication";
198                 }
199             }
200             description "The valid list of problems for the entity.";
201         }
202         typedef tcm-monitoring {
203             type enumeration {
204                 enum intrusive {
205                     description "none";
206                 }
207                 enum non-intrusive {
208                     description "none";
209                 }
210             }
211             description "Monitoring types for the tandem connection monitoring function.";
212         }
213         typedef tcm-mode {
214             type enumeration {
215                 enum operational {
216                     description "none";
217                 }
218                 enum transparent {
219                     description "none";
220                 }
221                 enum monitor {
222                     description "none";
223                 }
224             }
225             description "List of value modes for the sink side of the tandem connection monitoring function.";
226         }
227         typedef ops-mnk-ttp-k-bit-rate {
228             type enumeration {
229                 enum 40-g {
230                     description "none";
231                 }
232                 enum 100-g {
233                     description "none";
234                 }
235             }
236             description "Provides an enumeration with the meaning of each 'k' value.";
237         }
238         typedef ops-mnk-ttp-problem-list {
239             type enumeration {
240                 enum los {
241                     description "Loss of Signal";
242                 }
243                 enum lol {
244                     description "Loss of Lane Alignment";
245                 }
246             }
247             description "The valid list of problems for the entity.";
248         }
249         typedef op-sn-ttp-problem-list {
250             type enumeration {
251                 enum los {
252                     description "Loss of Signal";
253                 }
254             }
255             description "The valid list of problems for the entity.";
256         }
257         typedef otm-n-k-bit-rates {
258             type enumeration {
259                 enum 2.5-g {
260                     description "none";
261                 }
262                 enum 10-g {
263                     description "none";
264                 }
265                 enum 40-g {
266                     description "none";
267                 }
268                 enum 2.5-10-g {
269                     description "none";
270                 }
271                 enum 10-40-g {
272                     description "none";
273                 }
274                 enum 2.5-10-40-g {
275                     description "none";
276                 }
277             }
278             description "Provides an enumeration with the meaning of each 'k' value.";
279         }
280         typedef domain-interface {
281             type enumeration {
282                 enum intra-domain {
283                     description "none";
284                 }
285                 enum inter-domain {
286                     description "none";
287                 }
288             }
289             description "This enumeration provides the options for the interface associated with OTMn.";
290         }
291         typedef otm-n-optical-reach {
292             type enumeration {
293                 enum intra-office {
294                     description "none";
295                 }
296                 enum shorthaul {
297                     description "none";
298                 }
299                 enum longhaul {
300                     description "none";
301                 }
302             }
303             description "The valid options for reach of the optical cable.";
304         }
305         typedef apr-status {
306             type enumeration {
307                 enum on {
308                     description "none";
309                 }
310                 enum off {
311                     description "none";
312                 }
313             }
314             description "The enumeration of the options for the Automatic Power Reduction Status.";
315         }
316         typedef ot-sn-ttp-problem-list {
317             type enumeration {
318                 enum bdi-p {
319                     description "BDI-P (Backward Defect Indication - Payload); not co-exist with BDI-O or BDI";
320                 }
321                 enum bdi-o {
322                     description "BDI-O (Backward Defect Indication - Overhead); not co-exist with BDI-P or BDI";
323                 }
324                 enum bdi {
325                     description "BDI (Backward Defect Indication); not co-exist with BDI-P or BDI-O";
326                 }
327                 enum tim {
328                     description "TIM (Trail Trace Identifier Mismatch);";
329                 }
330                 enum los-p {
331                     description "-P (Loss of Signal - Payload); not co-exist with LOS-O or LOS";
332                 }
333                 enum los-o {
334                     description "LOS-O (Loss of Signal - Overhead); not co-exist with LOS-P or LOS";
335                 }
336                 enum los {
337                     description "LOS (Loss of Signal); not co-exist with LOS-P or LOS-O. ";
338                 }
339             }
340             description "The valid list of problems for the entity.";
341         }
342         typedef ot-uk-ctp-adaptation {
343             type enumeration {
344                 enum regular {
345                     description "i.e. OPSM/OTUk-a, OCh[r]/OTUk-a";
346                 }
347                 enum none {
348                     description "i.e. OPSM/OTUk-b, OCh[r]/OTUk-b";
349                 }
350                 enum vendor-specific {
351                     description "i.e. OCh[r]/OTUk-v";
352                 }
353                 enum functionally-standardized {
354                     description "i.e. OCh[r]/OTUkV";
355                 }
356             }
357             description "The adaptation options for OTUk_ConnectionTermationPoints.";
358         }
359         typedef ot-uk-ctp-k-bit-rate {
360             type enumeration {
361                 enum 2.5-g {
362                     description "none";
363                 }
364                 enum 10-g {
365                     description "none";
366                 }
367                 enum 40-g {
368                     description "none";
369                 }
370                 enum 100-g {
371                     description "none";
372                 }
373             }
374             description "Provides an enumeration with the meaning of each 'k' value.";
375         }
376         typedef ot-uk-ctp-problem-list {
377             type enumeration {
378                 enum lof {
379                     description "Loss of Frame";
380                 }
381                 enum ais {
382                     description "Alarm Indication Signal";
383                 }
384                 enum lom {
385                     description "Loss of MultiFrame";
386                 }
387             }
388             description "The valid list of problems for the entity.";
389         }
390         typedef ot-uk-ttp-problem-list {
391             type enumeration {
392                 enum tim {
393                     description "Trail Trace Identifier Mismatch";
394                 }
395                 enum deg {
396                     description "Signal Degraded";
397                 }
398                 enum bdi {
399                     description "Backward Defect Indication";
400                 }
401                 enum ssf {
402                     description "Server Signal Failure";
403                 }
404             }
405             description "The valid list of problems for the entity.";
406         }
407         typedef monitored-direction {
408             type enumeration {
409                 enum sink {
410                     description "none";
411                 }
412                 enum source {
413                     description "none";
414                 }
415             }
416             description "The enumeration with the options for directionality for nonintrusive monitoring.";
417         }
418         typedef deg-thr-type {
419             type enumeration {
420                 enum percentage {
421                     description "<p>Choice of % or Number of errored blocks</p>";
422                 }
423                 enum number-errored-blocks {
424                     description "<p>Number of % or blocks</p>";
425                 }
426             }
427             description "<p>The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer.</p>";
428         }
429         typedef link-type {
430             type enumeration {
431                 enum dwdm {
432                     description "none";
433                 }
434                 enum cwdm {
435                     description "none";
436                 }
437                 enum no-wdm {
438                     description "none";
439                 }
440             }
441             description "none";
442         }
443         typedef application-identifier-type {
444             type enumeration {
445                 enum standard {
446                     description "none";
447                 }
448                 enum proprietary {
449                     description "none";
450                 }
451             }
452             description "none";
453         }
454         typedef printable-string {
455             type string;
456             description "none";
457         }
458         typedef date-and-time {
459             type string;
460             description "This primitive type defines the date and time according to the following structure:
461                 'yyyyMMddhhmmss.s[Z|{+|-}HHMm]' where:
462                 yyyy    '0000'..'9999'    year
463                 MM        '01'..'12'            month
464                 dd        '01'..'31'            day
465                 hh        '00'..'23'            hour
466                 mm        '00'..'59'            minute
467                 ss        '00'..'59'            second
468                 s        '.0'..'.9'            tenth of second (set to '.0' if EMS or NE cannot support this granularity)
469                 Z        'Z'                    indicates UTC (rather than local time)
470                 {+|-}    '+' or '-'            delta from UTC
471                 HH        '00'..'23'            time zone difference in hours
472                 Mm        '00'..'59'            time zone difference in minutes.";
473         }
474         typedef aps-channel {
475             type enumeration {
476                 enum path {
477                     description "none";
478                 }
479                 enum tcm1 {
480                     description "none";
481                 }
482                 enum tcm2 {
483                     description "none";
484                 }
485                 enum tcm3 {
486                     description "none";
487                 }
488                 enum tcm4 {
489                     description "none";
490                 }
491                 enum tcm5 {
492                     description "none";
493                 }
494                 enum tcm6 {
495                     description "none";
496                 }
497                 enum section {
498                     description "none";
499                 }
500             }
501             description "none";
502         }
503         typedef bit-string {
504             type string;
505             description "This primitive type defines a bit oriented string.
506                 The size of the BitString will be defined in the valueRange property of the attribute; according to ASN.1 (X.680).
507                 The semantic of each bit position will be defined in the Documentation field of the attribute.";
508         }
509         typedef delay-measurement-role {
510             type enumeration {
511                 enum controller {
512                     description "none";
513                 }
514                 enum responder {
515                     description "none";
516                 }
517             }
518             description "none";
519         }
520         typedef resize-operation-type {
521             type enumeration {
522                 enum increase-bw {
523                     description "Increase Bandwidth";
524                 }
525                 enum decrease-bw {
526                     description "Decrease Bandwidth";
527                 }
528             }
529             description "none";
530         }
531         typedef granularity-period-type {
532             type enumeration {
533                 enum unknown {
534                     description "none";
535                 }
536                 enum period-15-min {
537                     description "none";
538                 }
539                 enum period-24-hours {
540                     description "none";
541                 }
542             }
543             description "The enumeration with the options for granularity period of the performance data.";
544         }
545
546     /***********************
547     * package illustrative-object-diagrams
548     **********************/ 
549
550     /***********************
551     * package imported-information-object-classes
552     **********************/ 
553         /***********************
554         * package q.822
555         **********************/ 
556             grouping q.822-current-data-g {
557                 leaf suspect-interval-flag {
558                     type boolean;
559                     description "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:- Suspect data were detected by the actual resource doing data collection.- Transition of the administrativeState attribute to/from the 'lock' state.- Transition of the operationalState to/from the 'disabled' state.- Scheduler setting that inhibits the collection function.- The performance counters were reset during the interval.- The currentData (or subclass) object instance was created during the monitoring period.";
560                 }
561                 leaf elapsed-time {
562                     type int64;
563                     description "none";
564                 }
565                 uses x.739-scanner-g;
566                 description "none";
567             }
568             grouping q.822-history-data-g {
569                 leaf history-data-id {
570                     type string;
571                     description "none";
572                 }
573                 leaf period-end-time {
574                     type yang:date-and-time;
575                     description "none";
576                 }
577                 leaf granularity-period {
578                     type granularity-period-type;
579                     description "none";
580                 }
581                 uses x.721-top-g;
582                 description "none";
583             }
584
585         /***********************
586         * package x.739
587         **********************/ 
588             grouping x.739-scanner-g {
589                 leaf scanner-id {
590                     type string;
591                     description "none";
592                 }
593                 leaf granularity-period {
594                     type granularity-period-type;
595                     description "none";
596                 }
597                 leaf administrative-state {
598                     type core-model:administrative-state;
599                     description "none";
600                 }
601                 uses x.721-top-g;
602                 description "none";
603             }
604
605         /***********************
606         * package x.721
607         **********************/ 
608             grouping x.721-top-g {
609                 leaf object-class {
610                     type object-identifier;
611                     description "ObjectClass ::= CHOICE{    globalForm    [0] OBJECT IDENTIFIER,
612                         localForm    [1] INTEGER}";
613                 }
614                 leaf name-binding {
615                     type object-identifier;
616                     description "none";
617                 }
618                 description "This is the top level of managed object class hierarchy and every other managed object class is a specialization of either this generic class (top) or a specialization of subclass of top. The parameter miscellaneousError is to be used when a processing failure has occurred and the error condition encountered does not match any of object's defined specific error types.";
619             }
620
621
622     /***********************
623     * package imported-data-types
624     **********************/ 
625         typedef object-instance {
626             type string;
627             description "none";
628         }
629         typedef name {
630             type string;
631             description "none";
632         }
633         typedef object-identifier {
634             type string;
635             description "none";
636         }
637         typedef generalized-time {
638             type string;
639             description "none";
640         }
641         typedef time-period {
642             type string;
643             description "This primitive Type is imported from X.739.";
644         }
645
646 }