Add sdnr wt devicemanager
[ccsdk/features.git] / sdnr / wt / devicemanager / provider / src / main / resources / preload.cache.schema / tapi-photonic-media@2018-08-31.yang
1 module tapi-photonic-media {\r
2     namespace "urn:onf:otcc:yang:tapi-photonic-media";\r
3     prefix tapi-photonic-media;\r
4     import tapi-common {\r
5         prefix tapi-common;\r
6     }\r
7     import tapi-connectivity {\r
8         prefix tapi-connectivity;\r
9     }\r
10     import tapi-topology {\r
11         prefix tapi-topology;\r
12     }\r
13     organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
14     contact "
15         Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
16         Project List: <mailto:transport-api@opennetworking.org>
17         Editor: Karthik Sethuraman
18                 <mailto:karthik.sethuraman@necam.com>";\r
19     description "\r
20         This module contains TAPI PhotonicMedia Model definitions.\r
21         Source: TapiPhotonicMedia.uml\r
22         Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
23         License: This module is distributed under the Apache License 2.0";\r
24     revision 2018-08-31 {\r
25         description "ONF Transport API version 2.1.0
26         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
27         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
28         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
29                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
30     }\r
31     revision 2018-03-07 {\r
32         description "ONF Transport API version 2.0.2
33         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
34         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
35         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
36                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
37     }\r
38     revision 2018-02-16 {\r
39         description "ONF Transport API version 2.0.1
40         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
41         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
42         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
43                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
44     }\r
45     revision 2018-01-02 {\r
46         description "ONF Transport API version 2.0.0
47         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
48         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
49         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
50                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
51     }\r
52     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
53         uses otsi-connection-end-point-spec-g;\r
54         description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";\r
55     }\r
56     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {\r
57         uses media-channel-node-edge-point-spec-g;\r
58         description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";\r
59     }\r
60     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
61         uses otsi-assembly-connection-end-point-spec-g;\r
62         description "none";\r
63     }\r
64     augment "/tapi-common:context/tapi-common:service-interface-point" {\r
65         uses otsi-service-interface-point-spec-g;\r
66         description "none";\r
67     }\r
68     augment "/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {\r
69         uses otsi-connectivity-service-end-point-spec-g;\r
70         description "none";\r
71     }\r
72     augment "/tapi-common:context/tapi-common:service-interface-point" {\r
73         uses media-channel-service-interface-point-spec-g;\r
74         description "none";\r
75     }\r
76     augment "/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {\r
77         uses media-channel-service-interface-point-spec-g;\r
78         description "none";\r
79     }\r
80     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
81         uses media-channel-connection-end-point-spec-g;\r
82         description "none";\r
83     }\r
84     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
85         uses ots-connection-end-point-spec-g;\r
86         description "none";\r
87     }\r
88     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
89         uses media-channel-assembly-spec-g;\r
90         description "none";\r
91     }\r
92     /***********************\r
93     * package object-classes\r
94     **********************/ \r
95         grouping otsi-gserver-adaptation-pac-g {\r
96             leaf number-of-otsi {\r
97                 type uint64;\r
98                 config false;\r
99                 description "none";\r
100             }\r
101             description "none";\r
102         }\r
103         grouping otsi-connection-end-point-spec-g {\r
104             container otsi-termination {\r
105                 config false;\r
106                 uses otsi-termination-pac-g;\r
107                 description "none";\r
108             }\r
109             description "none";\r
110         }\r
111         grouping otsi-termination-pac-g {\r
112             container selected-central-frequency {\r
113                 config false;\r
114                 uses central-frequency-or-wavelength-g;\r
115                 description "none";\r
116             }\r
117             container selected-application-identifier {\r
118                 config false;\r
119                 uses application-identifier-g;\r
120                 description "This attribute indicates the selected Application Identifier that is used by the OCh trail termination function. The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";\r
121             }\r
122             leaf selected-modulation {\r
123                 type modulation-technique;\r
124                 default "UNDEFINED";\r
125                 config false;\r
126                 description "This parameter defines the modulation used at the source";\r
127             }\r
128             container selected-spectrum {\r
129                 config false;\r
130                 uses spectrum-g;\r
131                 description "none";\r
132             }\r
133             container transmited-power {\r
134                 config false;\r
135                 uses power-properties-pac-g;\r
136                 description "Measured power at the Transmitter.";\r
137             }\r
138             container received-power {\r
139                 uses power-properties-pac-g;\r
140                 description "none";\r
141             }\r
142             container laser-properties {\r
143                 config false;\r
144                 uses laser-properties-pac-g;\r
145                 description "Laser properties.";\r
146             }\r
147             description "Provides status information only.";\r
148         }\r
149         grouping media-channel-pool-capability-pac-g {\r
150             list supportable-spectrum {\r
151                 config false;\r
152                 uses spectrum-g;\r
153                 description "none";\r
154             }\r
155             list available-spectrum {\r
156                 config false;\r
157                 uses spectrum-g;\r
158                 description "none";\r
159             }\r
160             list occupied-spectrum {\r
161                 config false;\r
162                 uses spectrum-g;\r
163                 description "none";\r
164             }\r
165             description "none";\r
166         }\r
167         grouping media-channel-node-edge-point-spec-g {\r
168             container mc-pool {\r
169                 config false;\r
170                 uses media-channel-pool-capability-pac-g;\r
171                 description "none";\r
172             }\r
173             description "none";\r
174         }\r
175         grouping otsi-routing-spec-g {\r
176             leaf optical-routing-strategy {\r
177                 type optical-routing-strategy;\r
178                 description "none";\r
179             }\r
180             description "none";\r
181         }\r
182         grouping media-channel-properties-pac-g {\r
183             container occupied-spectrum {\r
184                 config false;\r
185                 uses spectrum-g;\r
186                 description "none";\r
187             }\r
188             container measured-power-ingress {\r
189                 config false;\r
190                 uses power-properties-pac-g;\r
191                 description "none";\r
192             }\r
193             container measured-power-egress {\r
194                 uses power-properties-pac-g;\r
195                 description "none";\r
196             }\r
197             description "none";\r
198         }\r
199         grouping otsi-assembly-connection-end-point-spec-g {\r
200             container otsi-adapter {\r
201                 config false;\r
202                 uses otsi-gserver-adaptation-pac-g;\r
203                 description "none";\r
204             }\r
205             container fec-parameters {\r
206                 config false;\r
207                 uses fec-properties-pac-g;\r
208                 description "none";\r
209             }\r
210             description "none";\r
211         }\r
212         grouping otsi-capability-pac-g {\r
213             list supportable-lower-central-frequency {\r
214                 config false;\r
215                 uses central-frequency-or-wavelength-g;\r
216                 description "The lower frequency of the channel spectrum";\r
217             }\r
218             list supportable-upper-central-frequency {\r
219                 config false;\r
220                 uses central-frequency-or-wavelength-g;\r
221                 description "The Upper frequency of the channel spectrum";\r
222             }\r
223             list supportable-application-identifier {\r
224                 config false;\r
225                 uses application-identifier-g;\r
226                 description "The list of supportable ApplicationIdentifiers.";\r
227             }\r
228             leaf-list supportable-modulation {\r
229                 type modulation-technique;\r
230                 config false;\r
231                 description "This parameter defines the modulation used at the source";\r
232             }\r
233             container total-power-warn-threshold {\r
234                 config false;\r
235                 uses total-power-threshold-pac-g;\r
236                 description "none";\r
237             }\r
238             description "Can read the status of the warning for the upper value that the power can reach.";\r
239         }\r
240         grouping otsi-service-interface-point-spec-g {\r
241             container otsi-capability {\r
242                 config false;\r
243                 uses otsi-capability-pac-g;\r
244                 description "none";\r
245             }\r
246             description "none";\r
247         }\r
248         grouping otsi-connectivity-service-end-point-spec-g {\r
249             container otsi-config {\r
250                 uses otsi-termination-config-pac-g;\r
251                 description "none";\r
252             }\r
253             container nmc-config {\r
254                 uses media-channel-config-pac-g;\r
255                 description "none";\r
256             }\r
257             description "none";\r
258         }\r
259         grouping otsi-termination-config-pac-g {\r
260             container central-frequency {\r
261                 uses central-frequency-or-wavelength-g;\r
262                 description "The central frequency of the laser. It is the oscillation frequency of the corresponding electromagnetic wave";\r
263             }\r
264             container application-identifier {\r
265                 uses application-identifier-g;\r
266                 description "This attribute indicates the selected Application Identifier.";\r
267             }\r
268             leaf modulation {\r
269                 type modulation-technique;\r
270                 description "The modulation techniqu selected at the source.";\r
271             }\r
272             leaf laser-control {\r
273                 type laser-control-type;\r
274                 description "Laser control can be FORCED-ON, FORCED-OFF or AUTOMATIC-LASER-SHUTDOWN";\r
275             }\r
276             container transmit-power {\r
277                 uses power-properties-pac-g;\r
278                 description "Transmit power as requested.";\r
279             }\r
280             leaf total-power-warn-threshold-upper {\r
281                 type decimal64 {\r
282                         fraction-digits 7;\r
283                 }\r
284                 description "Configure the Max, Default and Min values for the Upper power threshold.";\r
285             }\r
286             leaf total-power-warn-threshold-lower {\r
287                 type decimal64 {\r
288                         fraction-digits 7;\r
289                 }\r
290                 description "Configure  Max, Default and Min values for lower power threshold.";\r
291             }\r
292             description "none";\r
293         }\r
294         grouping fec-properties-pac-g {\r
295             leaf pre-fec-ber {\r
296                 type uint64;\r
297                 config false;\r
298                 description "counter: bit error rate before correction by FEC";\r
299             }\r
300             leaf post-fec-ber {\r
301                 type uint64;\r
302                 config false;\r
303                 description "counter: bit error rate after correction by FEC";\r
304             }\r
305             leaf corrected-bytes {\r
306                 type uint64;\r
307                 config false;\r
308                 description "Bytes corrected between those that were received corrupted";\r
309             }\r
310             leaf corrected-bits {\r
311                 type uint64;\r
312                 config false;\r
313                 description "Bits corrected between those that were received corrupted";\r
314             }\r
315             leaf uncorrectable-bytes {\r
316                 type uint64;\r
317                 config false;\r
318                 description "Bytes that could not be corrected by FEC";\r
319             }\r
320             leaf uncorrectable-bits {\r
321                 type uint64;\r
322                 config false;\r
323                 description "Bits that could not be corrected by FEC";\r
324             }\r
325             description "none";\r
326         }\r
327         grouping media-channel-service-interface-point-spec-g {\r
328             container mc-pool {\r
329                 config false;\r
330                 uses media-channel-pool-capability-pac-g;\r
331                 description "none";\r
332             }\r
333             description "none";\r
334         }\r
335         grouping media-channel-connectivity-service-end-point-spec-g {\r
336             container mc-config {\r
337                 uses media-channel-config-pac-g;\r
338                 description "none";\r
339             }\r
340             description "none";\r
341         }\r
342         grouping media-channel-config-pac-g {\r
343             container spectrum {\r
344                 uses spectrum-g;\r
345                 description "none";\r
346             }\r
347             description "none";\r
348         }\r
349         grouping media-channel-connection-end-point-spec-g {\r
350             container media-channel {\r
351                 config false;\r
352                 uses media-channel-properties-pac-g;\r
353                 description "none";\r
354             }\r
355             description "none";\r
356         }\r
357         grouping ots-connection-end-point-spec-g {\r
358             container ots-media-channel {\r
359                 config false;\r
360                 uses media-channel-properties-pac-g;\r
361                 description "none";\r
362             }\r
363             description "none";\r
364         }\r
365         grouping media-channel-assembly-spec-g {\r
366             description "none";\r
367         }\r
368         grouping laser-properties-pac-g {\r
369             leaf laser-status {\r
370                 type laser-control-status-type;\r
371                 config false;\r
372                 description "none";\r
373             }\r
374             leaf laser-application-type {\r
375                 type laser-type;\r
376                 config false;\r
377                 description "The type of laser, its operational wavelengths, and its applications. String size 255.";\r
378             }\r
379             leaf laser-bias-current {\r
380                 type decimal64 {\r
381                         fraction-digits 7;\r
382                 }\r
383                 config false;\r
384                 description "The Bias current of the laser that is the medium polarization current of the laser.";\r
385             }\r
386             leaf laser-temperature {\r
387                 type decimal64 {\r
388                         fraction-digits 7;\r
389                 }\r
390                 config false;\r
391                 description "The temperature of the laser";\r
392             }\r
393             description "none";\r
394         }\r
395         grouping power-properties-pac-g {\r
396             leaf total-power {\r
397                 type decimal64 {\r
398                         fraction-digits 7;\r
399                 }\r
400                 description "The total power at any point in a channel specified in dBm.\r
401                     range of type : -99.000..99.000";\r
402             }\r
403             leaf power-spectral-density {\r
404                 type decimal64 {\r
405                         fraction-digits 7;\r
406                 }\r
407                 config false;\r
408                 description "This describes how power of a signal  is distributed over frequency specified in nW/MHz\r
409                     range of type : -2147483648..2147483648";\r
410             }\r
411             description "Indication with severity warning raised when a total power value measured is above the threshold.";\r
412         }\r
413         grouping total-power-threshold-pac-g {\r
414             leaf total-power-upper-warn-threshold-default {\r
415                 type decimal64 {\r
416                         fraction-digits 7;\r
417                 }\r
418                 description "Can read the value of the default  threshold that was set";\r
419             }\r
420             leaf total-power-upper-warn-threshold-min {\r
421                 type decimal64 {\r
422                         fraction-digits 7;\r
423                 }\r
424                 description "Can read the value of the lower threshold that was set";\r
425             }\r
426             leaf total-power-upper-warn-threshold-max {\r
427                 type decimal64 {\r
428                         fraction-digits 7;\r
429                 }\r
430                 description "Can  read the value of the upper threshold that was set";\r
431             }\r
432             leaf total-power-lower-warn-threshold-default {\r
433                 type decimal64 {\r
434                         fraction-digits 7;\r
435                 }\r
436                 description "Can read the value of the default  threshold that was set";\r
437             }\r
438             leaf total-power-lower-warn-threshold-max {\r
439                 type decimal64 {\r
440                         fraction-digits 7;\r
441                 }\r
442                 description "Can  read the value of the upper threshold that was set";\r
443             }\r
444             leaf total-power-lower-warn-threshold-min {\r
445                 type decimal64 {\r
446                         fraction-digits 7;\r
447                 }\r
448                 description "Can read the value of the lower threshold that was set";\r
449             }\r
450             description "none";\r
451         }\r
452 \r
453     /***********************\r
454     * package type-definitions\r
455     **********************/ \r
456         identity SPECTRUM_TYPE {\r
457                 base tapi-common:LAYER_PROTOCOL_QUALIFIER;\r
458             description "none";\r
459         }\r
460         identity SPECTRUM_TYPE_OTSi {\r
461             base SPECTRUM_TYPE;\r
462             description "none";\r
463         }\r
464         identity SPECTRUM_TYPE_OTSiA {\r
465             base SPECTRUM_TYPE;\r
466             description "none";\r
467         }\r
468         identity SPECTRUM_TYPE_OTSiG {\r
469             base SPECTRUM_TYPE;\r
470             description "none";\r
471         }\r
472         identity SPECTRUM_TYPE_NMC {\r
473             base SPECTRUM_TYPE;\r
474             description "none";\r
475         }\r
476         identity SPECTRUM_TYPE_NMCA {\r
477             base SPECTRUM_TYPE;\r
478             description "none";\r
479         }\r
480         identity SPECTRUM_TYPE_SMC {\r
481             base SPECTRUM_TYPE;\r
482             description "none";\r
483         }\r
484         identity SPECTRUM_TYPE_SMCA {\r
485             base SPECTRUM_TYPE;\r
486             description "none";\r
487         }\r
488         identity SPECTRUM_TYPE_OCH {\r
489             base SPECTRUM_TYPE;\r
490             description "none";\r
491         }\r
492         identity SPECTRUM_TYPE_OMS {\r
493             base SPECTRUM_TYPE;\r
494             description "none";\r
495         }\r
496         identity SPECTRUM_TYPE_OTS {\r
497             base SPECTRUM_TYPE;\r
498             description "none";\r
499         }\r
500         grouping application-identifier-g {\r
501             leaf application-identifier-type {\r
502                 type application-identifier-type;\r
503                 description "The ITU-T recommendation which defines the application code format.";\r
504             }\r
505             leaf application-code {\r
506                 type string;\r
507                 description "none";\r
508             }\r
509             description "The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";\r
510         }\r
511         grouping central-frequency-or-wavelength-g {\r
512             leaf grid-type {\r
513                 type grid-type;\r
514                 description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";\r
515             }\r
516             leaf adjustment-granularity {\r
517                 type adjustment-granularity;\r
518                 description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";\r
519             }\r
520             leaf central-frequency {\r
521                 type uint64;\r
522                 description "The central frequency of the laser specified in MHz. It is the oscillation frequency of the corresponding electromagnetic wave. ";\r
523             }\r
524             leaf channel-number {\r
525                 type uint64;\r
526                 description "As per ITU-T G.694.1, this attribute is denoted as 'n' and is used to calculate the nominal central frequency (in THz) as follows:\r
527                     193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and adjustment_granularity is the nominal central frequency granularity in THz";\r
528             }\r
529             description "This data-type holds the central frequency directly or optionally the information to determine the nominal central frequency of a FIXED grid (DWDM or CWDM) and FLEX grid type systems.\r
530                 As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:\r
531                 193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and <adjustment_granularity> is the nominal central frequency granularity in THz\r
532                 For FIXED grid types, the adjustmentGranularity is one of (0.1/0.05/0.025/0.0125) THz corresponding to channel spacing of one of (100/50/25/12.5) GHz\r
533                 For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";\r
534         }\r
535         typedef optical-routing-strategy {\r
536             type enumeration {\r
537                 enum OPTIMAL_OSNR {\r
538                     description "none";\r
539                 }\r
540                 enum NO_RELAY {\r
541                     description "none";\r
542                 }\r
543                 enum MIN_RELAY {\r
544                     description "none";\r
545                 }\r
546                 enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {\r
547                     description "none";\r
548                 }\r
549                 enum PREFERRED_NO_SKIPPING_WAVELENGTH {\r
550                     description "none";\r
551                 }\r
552             }\r
553             description "none";\r
554         }\r
555         typedef application-identifier-type {\r
556             type enumeration {\r
557                 enum PROPRIETARY {\r
558                     description "none";\r
559                 }\r
560                 enum ITUT_G959_1 {\r
561                     description "none";\r
562                 }\r
563                 enum ITUT_G698_1 {\r
564                     description "none";\r
565                 }\r
566                 enum ITUT_G698_2 {\r
567                     description "none";\r
568                 }\r
569                 enum ITUT_G696_1 {\r
570                     description "none";\r
571                 }\r
572                 enum ITUT_G695 {\r
573                     description "none";\r
574                 }\r
575             }\r
576             description "none";\r
577         }\r
578         typedef grid-type {\r
579             type enumeration {\r
580                 enum DWDM {\r
581                     description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1\r
582                         ";\r
583                 }\r
584                 enum CWDM {\r
585                     description "Fixed frequency grid as specified in ITU-T G.694.2";\r
586                 }\r
587                 enum FLEX {\r
588                     description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,\r
589                         - the allowed frequency slots have a nominal central frequency (in THz) defined by:\r
590                         193.1 + n × 0.00625 where n is a positive or negative integer including 0 and 0.00625 is the nominal central frequency granularity in THz\r
591                         - and a slot width defined by:\r
592                         12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.\r
593                         Any combination of frequency slots is allowed as long as no two frequency slots overlap.";\r
594                 }\r
595                 enum GRIDLESS {\r
596                     description "none";\r
597                 }\r
598                 enum UNSPECIFIED {\r
599                     description "Unspecified/proprietary frequency grid";\r
600                 }\r
601             }\r
602             description "The frequency grid standard that specify reference set of frequencies used to denote allowed nominal central frequencies that may be used for defining applications.";\r
603         }\r
604         typedef adjustment-granularity {\r
605             type enumeration {\r
606                 enum G_100GHZ {\r
607                     description "100000 MHz";\r
608                 }\r
609                 enum G_50GHZ {\r
610                     description "50000 MHz";\r
611                 }\r
612                 enum G_25GHZ {\r
613                     description "25000 MHz";\r
614                 }\r
615                 enum G_12_5GHZ {\r
616                     description "12500 MHz";\r
617                 }\r
618                 enum G_6_25GHZ {\r
619                     description "6250 MHz";\r
620                 }\r
621                 enum G_3_125GHZ {\r
622                     description "3125 MHz";\r
623                 }\r
624                 enum UNCONSTRAINED {\r
625                     description "none";\r
626                 }\r
627             }\r
628             description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency";\r
629         }\r
630         grouping spectrum-g {\r
631             leaf upper-frequency {\r
632                 type uint64;\r
633                 description "The upper frequency bound of the media channel spectrum specified in MHz";\r
634             }\r
635             leaf lower-frequency {\r
636                 type uint64;\r
637                 description "The lower frequency bound of the media channel spectrum specified in MHz";\r
638             }\r
639             container frequency-slot {\r
640                 uses frequency-slot-g;\r
641                 description "none";\r
642             }\r
643             description "This data-type holds the spectrum information in termsof upper/lower frequency directly or optionally the information to determin this in terms of the nominal central frequency and spectral width for a FIXED grid (DWDM or CWDM) and FLEX grid type systems.";\r
644         }\r
645         typedef modulation-technique {\r
646             type enumeration {\r
647                 enum RZ {\r
648                     description "none";\r
649                 }\r
650                 enum NRZ {\r
651                     description "none";\r
652                 }\r
653                 enum BPSK {\r
654                     description "none";\r
655                 }\r
656                 enum DPSK {\r
657                     description "none";\r
658                 }\r
659                 enum QPSK {\r
660                     description "none";\r
661                 }\r
662                 enum 8QAM {\r
663                     description "none";\r
664                 }\r
665                 enum 16QAM {\r
666                     description "none";\r
667                 }\r
668                 enum UNDEFINED {\r
669                     description "none";\r
670                 }\r
671             }\r
672             description "none";\r
673         }\r
674         grouping frequency-slot-g {\r
675             container central-frequency {\r
676                 uses central-frequency-or-wavelength-g;\r
677                 description "none";\r
678             }\r
679             leaf spectral-width {\r
680                 type uint64;\r
681                 description "Width of the media channel spectrum specified in MHz";\r
682             }\r
683             leaf slot-width-number {\r
684                 type uint64;\r
685                 description "As per ITU-T G.694.1, this attribute is denoted as 'm' and is used to calculate the slot width (in GHz) as follows:\r
686                     12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";\r
687             }\r
688             description "The frequency range allocated to a slot and unavailable to other slots within a flexible grid. A frequency slot is defined by its nominal central frequency. As per ITU-T G.694.1  the slot width is calculated as follows:\r
689                 12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";\r
690         }\r
691         typedef laser-type {\r
692             type enumeration {\r
693                 enum PUMP {\r
694                     description "none";\r
695                 }\r
696                 enum MODULATED {\r
697                     description "none";\r
698                 }\r
699                 enum PULSE {\r
700                     description "none";\r
701                 }\r
702             }\r
703             description "none";\r
704         }\r
705         typedef spectrum-type {\r
706             type identityref {\r
707                 base SPECTRUM_TYPE;\r
708             }\r
709             description "none";\r
710         }\r
711         typedef laser-control-type {\r
712             type enumeration {\r
713                 enum FORCED-ON {\r
714                     description "none";\r
715                 }\r
716                 enum FORCED-OFF {\r
717                     description "none";\r
718                 }\r
719                 enum AUTOMATIC-LASER-SHUTDOWN {\r
720                     description "none";\r
721                 }\r
722                 enum UNDEFINED {\r
723                     description "none";\r
724                 }\r
725             }\r
726             description "none";\r
727         }\r
728         typedef laser-control-status-type {\r
729             type enumeration {\r
730                 enum ON {\r
731                     description "none";\r
732                 }\r
733                 enum OFF {\r
734                     description "none";\r
735                 }\r
736                 enum PULSING {\r
737                     description "none";\r
738                 }\r
739                 enum UNDEFINED {\r
740                     description "none";\r
741                 }\r
742             }\r
743             description "none";\r
744         }\r
745 \r
746 }\r