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