Add TAPI Topology simulated network function type.
[sim/o1-interface.git] / ntsimulator / deploy / smo-nts-ng-topology-server / yang / tapi-photonic-media@2020-06-16.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 "\r
15          Project Web: <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OTCC/TAPI__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G39KDEbL$ >\r
16          Project List: <mailto:transport-api@opennetworking.org>\r
17          Editor: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>\r
18          Andrea Mazzini <mailto:andrea.mazzini@nokia.com>\r
19          Arturo Mayoral <mailto:arturo.mayoral@telefonica.com>\r
20          Nigel Davis <mailto:ndavis@ciena.com>";\r
21     description "\r
22         This module contains TAPI Photonic Media Model definitions.\r
23         Source: TapiPhotonicMedia.uml\r
24         - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.\r
25         - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]\r
26           <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/EagleUmlYang__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G4QHf0bG$ >\r
27           and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]\r
28           <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OIMT/UML*-*YANG*Guidelines__;Kysr!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G8IIivez$ >\r
29         - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.\r
30           As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.\r
31         - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.\r
32           The YANG model backward compatibility criteria are outlined in section 11 of <https://urldefense.com/v3/__https://tools.ietf.org/html/rfc7950__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G3bKxRf2$ >.\r
33           YANG models included in this release may not be backward compatible with previous TAPI releases.\r
34         Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
35         License: This module is distributed under the Apache License 2.0";\r
36     revision 2020-06-16 {\r
37         description "ONF Transport API version 2.1.3.\r
38                    - OtsiConnectivityServiceEndPointSpec class, deprecated\r
39                    - New OtsiAConnectivityServiceEndPointSpec, with numberOfOTSi property (integer).\r
40                    - OtsiCsepHasOtsiConfigPac association, move from 1-1 to 0-*, i.e. allowing more OtsiTerminationConfigPac instances per OTSi CSEP\r
41                      This allows to move from one OTSi CSEP instance per OTSi signal to one OTSi CSEP instance including the information related to\r
42                      + zero (full delegation),\r
43                      + 1 or more (constrained provisioning) OTSi signals.\r
44                    - OtsiTerminationConfigPac class, make all properties as optional (0..1)\r
45                      + This allows delegation or specification of selected properties\r
46                    - Similar modification for Media Channel: MediaChannelConnectivityServiceEndPointSpec deprecated\r
47                    - New MediaChannelAssemblyConnectivityServiceEndPointSpec, add capacity property.\r
48                    - SmcCsepHasMcConfigPac association, move from 1-1 to 1-*\r
49                    - MediaChannelConfigPac, set spectrum attribute as optional [0..1].\r
50                    Changes included in this TAPI release (v2.1.3) are listed in\r
51                    <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop_v2_1/CHANGE_LOG/change-log.2.1.3.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7tqhxFK$ >";\r
52         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
53                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
54     }\r
55     revision 2019-07-16 {\r
56         description "ONF Transport API version 2.1.2.\r
57                    Changes included in this TAPI release (v2.1.2) are listed in\r
58                    <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop_v2_1/CHANGE_LOG/change-log.2.1.2.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7eDS6-t$ >";\r
59         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
60                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
61     }\r
62     revision 2018-12-10 {\r
63         description "ONF Transport API version 2.1.1.\r
64                    Changes included in this TAPI release (v2.1.1) are listed in\r
65                    <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.1.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1ftwU5J$ >";\r
66         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
67                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
68     }\r
69     revision 2018-10-16 {\r
70         description "ONF Transport API version 2.1.0.\r
71                    Changes included in this TAPI release (v2.1.0) are listed in\r
72                    <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G-5JStw4$ >";\r
73         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
74                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
75     }\r
76     revision 2018-03-07 {\r
77         description "ONF Transport API version 2.0.2\r
78         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
79         Changes in this revision: <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1Yf4AAN$ >";\r
80         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
81                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G27-pJK_$ >";\r
82     }\r
83     revision 2018-02-16 {\r
84         description "ONF Transport API version 2.0.1\r
85         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
86         Changes in this revision: <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G8RnGvXg$ >";\r
87         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
88                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6Gy6YoeAv$ >";\r
89     }\r
90     revision 2018-01-02 {\r
91         description "ONF Transport API version 2.0.0\r
92         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
93         Changes in this revision: <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6GyqYDgG_$ >";\r
94         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
95                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1V9Thk9$ >";\r
96     }\r
97     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" {\r
98         container otsi-connection-end-point-spec {\r
99             uses otsi-connection-end-point-spec;\r
100             description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";\r
101         }\r
102         description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";\r
103     }\r
104     augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {\r
105         container media-channel-node-edge-point-spec {\r
106             uses media-channel-node-edge-point-spec;\r
107             description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";\r
108         }\r
109         description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";\r
110     }\r
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" {\r
112         container otsi-assembly-connection-end-point-spec {\r
113             uses otsi-assembly-connection-end-point-spec;\r
114             description "none";\r
115         }\r
116         description "none";\r
117     }\r
118     augment "/tapi-common:context/tapi-common:service-interface-point" {\r
119         container otsi-service-interface-point-spec {\r
120             uses otsi-service-interface-point-spec;\r
121             description "none";\r
122         }\r
123         description "none";\r
124     }\r
125     augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {\r
126         container otsi-connectivity-service-end-point-spec {\r
127             uses otsi-connectivity-service-end-point-spec;\r
128             description "none";\r
129         }\r
130         description "none";\r
131     }\r
132     augment "/tapi-common:context/tapi-common:service-interface-point" {\r
133         container media-channel-service-interface-point-spec {\r
134             uses media-channel-service-interface-point-spec;\r
135             description "none";\r
136         }\r
137         description "none";\r
138     }\r
139     augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {\r
140         container media-channel-connectivity-service-end-point-spec {\r
141             uses media-channel-connectivity-service-end-point-spec;\r
142             description "none";\r
143         }\r
144         description "none";\r
145     }\r
146     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" {\r
147         container media-channel-connection-end-point-spec {\r
148             uses media-channel-connection-end-point-spec;\r
149             description "none";\r
150         }\r
151         description "none";\r
152     }\r
153     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" {\r
154         container ots-connection-end-point-spec {\r
155             uses ots-connection-end-point-spec;\r
156             description "none";\r
157         }\r
158         description "none";\r
159     }\r
160     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" {\r
161         container media-channel-assembly-spec {\r
162             uses media-channel-assembly-spec;\r
163             description "none";\r
164         }\r
165         description "none";\r
166     }\r
167     augment "/tapi-connectivity:create-connectivity-service/tapi-connectivity:input/tapi-connectivity:end-point" {\r
168         container media-channel-connectivity-service-end-point-spec {\r
169             uses media-channel-connectivity-service-end-point-spec;\r
170             description "none";\r
171         }\r
172         description "none";\r
173     }\r
174     augment "/tapi-connectivity:get-connectivity-service-details/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {\r
175         container media-channel-connectivity-service-end-point-spec {\r
176             uses media-channel-connectivity-service-end-point-spec;\r
177             description "none";\r
178         }\r
179         description "none";\r
180     }\r
181     augment "/tapi-connectivity:get-connectivity-service-list/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {\r
182         container media-channel-connectivity-service-end-point-spec {\r
183             uses media-channel-connectivity-service-end-point-spec;\r
184             description "none";\r
185         }\r
186         description "none";\r
187     }\r
188     augment "/tapi-connectivity:update-connectivity-service/tapi-connectivity:input/tapi-connectivity:end-point" {\r
189         container media-channel-connectivity-service-end-point-spec {\r
190             uses media-channel-connectivity-service-end-point-spec;\r
191             description "none";\r
192         }\r
193         description "none";\r
194     }\r
195     augment "/tapi-connectivity:update-connectivity-service/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {\r
196         container media-channel-connectivity-service-end-point-spec {\r
197             uses media-channel-connectivity-service-end-point-spec;\r
198             description "none";\r
199         }\r
200         description "none";\r
201     }\r
202     augment "/tapi-connectivity:create-connectivity-service/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {\r
203         container media-channel-connectivity-service-end-point-spec {\r
204             uses media-channel-connectivity-service-end-point-spec;\r
205             description "none";\r
206         }\r
207         description "none";\r
208     }\r
209     augment "/tapi-topology:get-node-edge-point-details/tapi-topology:output/tapi-topology:node-edge-point" {\r
210         container media-channel-node-edge-point-spec {\r
211             uses media-channel-node-edge-point-spec;\r
212             description "none";\r
213         }\r
214         description "none";\r
215     }\r
216     augment "/tapi-common:get-service-interface-point-details/tapi-common:output/tapi-common:sip" {\r
217         container media-channel-service-interface-point-spec {\r
218             uses media-channel-service-interface-point-spec;\r
219             description "none";\r
220         }\r
221         description "none";\r
222     }\r
223     augment "/tapi-common:get-service-interface-point-list/tapi-common:output/tapi-common:sip" {\r
224         container media-channel-service-interface-point-spec {\r
225             uses media-channel-service-interface-point-spec;\r
226             description "none";\r
227         }\r
228         description "none";\r
229     }\r
230     augment "/tapi-connectivity:create-connectivity-service/tapi-connectivity:input/tapi-connectivity:end-point" {\r
231         container otsi-connectivity-service-end-point-spec {\r
232             uses otsi-connectivity-service-end-point-spec;\r
233             description "none";\r
234         }\r
235         description "none";\r
236     }\r
237     augment "/tapi-connectivity:create-connectivity-service/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {\r
238         container otsi-connectivity-service-end-point-spec {\r
239             uses otsi-connectivity-service-end-point-spec;\r
240             description "none";\r
241         }\r
242         description "none";\r
243     }\r
244     augment "/tapi-connectivity:get-connectivity-service-details/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {\r
245         container otsi-connectivity-service-end-point-spec {\r
246             uses otsi-connectivity-service-end-point-spec;\r
247             description "none";\r
248         }\r
249         description "none";\r
250     }\r
251     augment "/tapi-connectivity:get-connectivity-service-list/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {\r
252         container otsi-connectivity-service-end-point-spec {\r
253             uses otsi-connectivity-service-end-point-spec;\r
254             description "none";\r
255         }\r
256         description "none";\r
257     }\r
258     augment "/tapi-connectivity:update-connectivity-service/tapi-connectivity:input/tapi-connectivity:end-point" {\r
259         container otsi-connectivity-service-end-point-spec {\r
260             uses otsi-connectivity-service-end-point-spec;\r
261             description "none";\r
262         }\r
263         description "none";\r
264     }\r
265     augment "/tapi-connectivity:update-connectivity-service/tapi-connectivity:output/tapi-connectivity:service/tapi-connectivity:end-point" {\r
266         container otsi-connectivity-service-end-point-spec {\r
267             uses otsi-connectivity-service-end-point-spec;\r
268             description "none";\r
269         }\r
270         description "none";\r
271     }\r
272     augment "/tapi-common:get-service-interface-point-details/tapi-common:output/tapi-common:sip" {\r
273         container otsi-service-interface-point-spec {\r
274             uses otsi-service-interface-point-spec;\r
275             description "none";\r
276         }\r
277         description "none";\r
278     }\r
279     augment "/tapi-common:get-service-interface-point-list/tapi-common:output/tapi-common:sip" {\r
280         container otsi-service-interface-point-spec {\r
281             uses otsi-service-interface-point-spec;\r
282             description "none";\r
283         }\r
284         description "none";\r
285     }\r
286     augment "/tapi-connectivity:get-connection-end-point-details/tapi-connectivity:output/tapi-connectivity:connection-end-point" {\r
287         container media-channel-connection-end-point-spec {\r
288             uses media-channel-connection-end-point-spec;\r
289             description "none";\r
290         }\r
291         description "none";\r
292     }\r
293     augment "/tapi-connectivity:get-connection-end-point-details/tapi-connectivity:output/tapi-connectivity:connection-end-point" {\r
294         container otsi-assembly-connection-end-point-spec {\r
295             uses otsi-assembly-connection-end-point-spec;\r
296             description "none";\r
297         }\r
298         description "none";\r
299     }\r
300     augment "/tapi-connectivity:get-connection-end-point-details/tapi-connectivity:output/tapi-connectivity:connection-end-point" {\r
301         container otsi-connection-end-point-spec {\r
302             uses otsi-connection-end-point-spec;\r
303             description "none";\r
304         }\r
305         description "none";\r
306     }\r
307     augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {\r
308         container otsia-connectivity-service-end-point-spec {\r
309             uses otsia-connectivity-service-end-point-spec;\r
310             description "none";\r
311         }\r
312         description "none";\r
313     }\r
314     augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {\r
315         container mca-connectivity-service-end-point-spec {\r
316             uses mca-connectivity-service-end-point-spec;\r
317             description "none";\r
318         }\r
319         description "none";\r
320     }\r
321     /**************************\r
322     * package object-classes\r
323     **************************/ \r
324     grouping otsi-gserver-adaptation-pac {\r
325         leaf number-of-otsi {\r
326             type uint64;\r
327             config false;\r
328             description "none";\r
329         }\r
330         description "none";\r
331     }\r
332     grouping otsi-connection-end-point-spec {\r
333         container otsi-termination {\r
334             config false;\r
335             uses otsi-termination-pac;\r
336             description "none";\r
337         }\r
338         description "none";\r
339     }\r
340     grouping otsi-termination-pac {\r
341         container selected-central-frequency {\r
342             config false;\r
343             uses central-frequency;\r
344             description "none";\r
345         }\r
346         container selected-application-identifier {\r
347             config false;\r
348             uses application-identifier;\r
349             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
350         }\r
351         leaf selected-modulation {\r
352             type modulation-technique;\r
353             default "UNDEFINED";\r
354             config false;\r
355             description "This parameter defines the modulation used at the source";\r
356         }\r
357         container selected-spectrum {\r
358             config false;\r
359             uses spectrum-band;\r
360             description "none";\r
361         }\r
362         container transmited-power {\r
363             config false;\r
364             uses power-properties-pac;\r
365             description "Measured power at the Transmitter.";\r
366         }\r
367         container received-power {\r
368             uses power-properties-pac;\r
369             description "none";\r
370         }\r
371         container laser-properties {\r
372             config false;\r
373             uses laser-properties-pac;\r
374             description "Laser properties.";\r
375         }\r
376         description "Provides status information only.";\r
377     }\r
378     grouping media-channel-pool-capability-pac {\r
379         list supportable-spectrum {\r
380             key 'upper-frequency lower-frequency';\r
381             config false;\r
382             uses spectrum-band;\r
383             description "none";\r
384         }\r
385         list available-spectrum {\r
386             key 'upper-frequency lower-frequency';\r
387             config false;\r
388             uses spectrum-band;\r
389             description "none";\r
390         }\r
391         list occupied-spectrum {\r
392             key 'upper-frequency lower-frequency';\r
393             config false;\r
394             uses spectrum-band;\r
395             description "none";\r
396         }\r
397         description "none";\r
398     }\r
399     grouping media-channel-node-edge-point-spec {\r
400         container mc-pool {\r
401             config false;\r
402             uses media-channel-pool-capability-pac;\r
403             description "none";\r
404         }\r
405         description "none";\r
406     }\r
407     grouping otsi-routing-spec {\r
408         leaf optical-routing-strategy {\r
409             type optical-routing-strategy;\r
410             description "none";\r
411         }\r
412         description "none";\r
413     }\r
414     grouping media-channel-properties-pac {\r
415         container occupied-spectrum {\r
416             config false;\r
417             uses spectrum-band;\r
418             description "none";\r
419         }\r
420         container measured-power-ingress {\r
421             config false;\r
422             uses power-properties-pac;\r
423             description "none";\r
424         }\r
425         container measured-power-egress {\r
426             uses power-properties-pac;\r
427             description "none";\r
428         }\r
429         description "none";\r
430     }\r
431     grouping otsi-assembly-connection-end-point-spec {\r
432         container otsi-adapter {\r
433             config false;\r
434             uses otsi-gserver-adaptation-pac;\r
435             description "none";\r
436         }\r
437         container fec-parameters {\r
438             config false;\r
439             uses fec-properties-pac;\r
440             description "none";\r
441         }\r
442         description "none";\r
443     }\r
444     grouping otsi-capability-pac {\r
445         list supportable-central-frequency-spectrum-band {\r
446             key 'lower-central-frequency upper-central-frequency';\r
447             config false;\r
448             uses central-frequency-band;\r
449             description "Each spectrum band supported for otsi trasmitter to be tuned on,\r
450                 is specified as per it's lower and upper central frequencies supported and its frequency constraints,\r
451                 consisting in the frequency Grid and the AdjustmentGranularity,\r
452                 used to uniquely identify all central frequencies supported within the band.";\r
453         }\r
454         list supportable-application-identifier {\r
455             key 'application-code';\r
456             config false;\r
457             uses application-identifier;\r
458             description "The list of supportable ApplicationIdentifiers.";\r
459         }\r
460         leaf-list supportable-modulation {\r
461             type modulation-technique;\r
462             config false;\r
463             description "This parameter defines the modulation used at the source";\r
464         }\r
465         container total-power-warn-threshold {\r
466             config false;\r
467             uses total-power-threshold-pac;\r
468             description "none";\r
469         }\r
470         description "Can read the status of the warning for the upper value that the power can reach.";\r
471     }\r
472     grouping otsi-service-interface-point-spec {\r
473         container otsi-capability {\r
474             config false;\r
475             uses otsi-capability-pac;\r
476             description "none";\r
477         }\r
478         container power-management-capability {\r
479             uses power-management-capability-pac;\r
480             description "none";\r
481         }\r
482         description "none";\r
483     }\r
484     grouping otsi-connectivity-service-end-point-spec {\r
485         container otsi-config {\r
486             uses otsi-termination-config-pac;\r
487             description "none";\r
488         }\r
489         description "none";\r
490     }\r
491     grouping otsi-termination-config-pac {\r
492         container central-frequency {\r
493             uses central-frequency;\r
494             description "The central frequency of the laser. It is the oscillation frequency of the corresponding electromagnetic wave";\r
495         }\r
496         container spectrum {\r
497             uses spectrum-band;\r
498             description "none";\r
499         }\r
500         container application-identifier {\r
501             uses application-identifier;\r
502             description "This attribute indicates the selected Application Identifier.";\r
503         }\r
504         leaf modulation {\r
505             type modulation-technique;\r
506             description "The modulation techniqu selected at the source.";\r
507         }\r
508         leaf laser-control {\r
509             type laser-control-type;\r
510             description "Laser control can be FORCED-ON, FORCED-OFF or LASER-SHUTDOWN";\r
511         }\r
512         container transmit-power {\r
513             uses power-properties-pac;\r
514             description "Transmit power as requested.";\r
515         }\r
516         leaf total-power-warn-threshold-upper {\r
517             type decimal64 {\r
518                 fraction-digits 7;\r
519             }\r
520             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.";\r
521         }\r
522         leaf total-power-warn-threshold-lower {\r
523             type decimal64 {\r
524                 fraction-digits 7;\r
525             }\r
526             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.";\r
527         }\r
528         uses tapi-common:local-class;\r
529         description "This class allows the provisioning of the parameters of a single OTSi.\r
530             In case it is not instantiated (see [0..*] with OtsiAConnectivityServiceEndPointSpec), it is intended that the choice of the parameter values is fully delegated to the server controller.";\r
531     }\r
532     grouping fec-properties-pac {\r
533         leaf pre-fec-ber {\r
534             type uint64;\r
535             config false;\r
536             description "counter: bit error rate before correction by FEC";\r
537         }\r
538         leaf post-fec-ber {\r
539             type uint64;\r
540             config false;\r
541             description "counter: bit error rate after correction by FEC";\r
542         }\r
543         leaf corrected-bytes {\r
544             type uint64;\r
545             config false;\r
546             description "Bytes corrected between those that were received corrupted";\r
547         }\r
548         leaf corrected-bits {\r
549             type uint64;\r
550             config false;\r
551             description "Bits corrected between those that were received corrupted";\r
552         }\r
553         leaf uncorrectable-bytes {\r
554             type uint64;\r
555             config false;\r
556             description "Bytes that could not be corrected by FEC";\r
557         }\r
558         leaf uncorrectable-bits {\r
559             type uint64;\r
560             config false;\r
561             description "Bits that could not be corrected by FEC";\r
562         }\r
563         description "none";\r
564     }\r
565     grouping media-channel-service-interface-point-spec {\r
566         container mc-pool {\r
567             config false;\r
568             uses media-channel-pool-capability-pac;\r
569             description "none";\r
570         }\r
571         container power-management-capability {\r
572             uses power-management-capability-pac;\r
573             description "none";\r
574         }\r
575         description "none";\r
576     }\r
577     grouping media-channel-connectivity-service-end-point-spec {\r
578         container mc-config {\r
579             uses media-channel-config-pac;\r
580             description "none";\r
581         }\r
582         description "none";\r
583     }\r
584     grouping media-channel-config-pac {\r
585         container spectrum {\r
586             uses spectrum-band;\r
587             description "none";\r
588         }\r
589         container power-management-config-pac {\r
590             uses power-management-config-pac;\r
591             description "none";\r
592         }\r
593         uses tapi-common:local-class;\r
594         description "This class allows the provisioning of the parameters of a single MC / OTSiMC.\r
595             The [1..*] with MediaChannelAConnectivityServiceEndPointSpec allows the configuration of power properties (PowerManagementConfigPac) even in case of no spectrum specified, i.e. 'empty' MediaChannelConfigPac.";\r
596     }\r
597     grouping media-channel-connection-end-point-spec {\r
598         container media-channel {\r
599             config false;\r
600             uses media-channel-properties-pac;\r
601             description "none";\r
602         }\r
603         description "none";\r
604     }\r
605     grouping ots-connection-end-point-spec {\r
606         container ots-media-channel {\r
607             config false;\r
608             uses media-channel-properties-pac;\r
609             description "none";\r
610         }\r
611         description "none";\r
612     }\r
613     grouping media-channel-assembly-spec {\r
614         description "none";\r
615     }\r
616     grouping laser-properties-pac {\r
617         leaf laser-status {\r
618             type laser-control-status-type;\r
619             config false;\r
620             description "none";\r
621         }\r
622         leaf laser-application-type {\r
623             type laser-type;\r
624             config false;\r
625             description "The type of laser, its operational wavelengths, and its applications. String size 255.";\r
626         }\r
627         leaf laser-bias-current {\r
628             type decimal64 {\r
629                 fraction-digits 7;\r
630             }\r
631             config false;\r
632             description "The Bias current of the laser that is the medium polarization current of the laser.";\r
633         }\r
634         leaf laser-temperature {\r
635             type decimal64 {\r
636                 fraction-digits 7;\r
637             }\r
638             config false;\r
639             description "The temperature of the laser";\r
640         }\r
641         description "none";\r
642     }\r
643     grouping power-properties-pac {\r
644         leaf total-power {\r
645             type decimal64 {\r
646                 fraction-digits 7;\r
647             }\r
648             description "The total power at any point in a channel specified in dBm.";\r
649         }\r
650         leaf power-spectral-density {\r
651             type decimal64 {\r
652                 fraction-digits 7;\r
653             }\r
654             config false;\r
655             description "This describes how power of a signal  is distributed over frequency specified in nW/MHz";\r
656         }\r
657         description "Indication with severity warning raised when a total power value measured is above the threshold.";\r
658     }\r
659     grouping total-power-threshold-pac {\r
660         leaf total-power-upper-warn-threshold-default {\r
661             type decimal64 {\r
662                 fraction-digits 7;\r
663             }\r
664             description "Can read the value of the default  threshold that was set";\r
665         }\r
666         leaf total-power-upper-warn-threshold-min {\r
667             type decimal64 {\r
668                 fraction-digits 7;\r
669             }\r
670             description "Can read the value of the lower threshold that was set";\r
671         }\r
672         leaf total-power-upper-warn-threshold-max {\r
673             type decimal64 {\r
674                 fraction-digits 7;\r
675             }\r
676             description "Can  read the value of the upper threshold that was set";\r
677         }\r
678         leaf total-power-lower-warn-threshold-default {\r
679             type decimal64 {\r
680                 fraction-digits 7;\r
681             }\r
682             description "Can read the value of the default  threshold that was set";\r
683         }\r
684         leaf total-power-lower-warn-threshold-max {\r
685             type decimal64 {\r
686                 fraction-digits 7;\r
687             }\r
688             description "Can  read the value of the upper threshold that was set";\r
689         }\r
690         leaf total-power-lower-warn-threshold-min {\r
691             type decimal64 {\r
692                 fraction-digits 7;\r
693             }\r
694             description "Can read the value of the lower threshold that was set";\r
695         }\r
696         description "none";\r
697     }\r
698     grouping power-management-config-pac {\r
699         container intended-maximum-output-power {\r
700             uses power-properties;\r
701             description "This parameter shall be used to specify the maximum output power\r
702                 desired at the Logical-Termination-Point (LTP) associated to the CSEP.";\r
703         }\r
704         container intended-minimum-output-power {\r
705             uses power-properties;\r
706             description "This parameter shall be used to specify the minimum output power\r
707                 desired at the Logical-Termination-Point (LTP) associated to the CSEP.";\r
708         }\r
709         container expected-maximum-input-power {\r
710             uses power-properties;\r
711             description "This parameter shall be used to specify the maximum input power\r
712                 being received at the Logical-Termination-Point (LTP) associated to the CSEP.";\r
713         }\r
714         container expected-minimum-input-power {\r
715             uses power-properties;\r
716             description "This parameter shall be used to specify the minimum input power\r
717                 being received at the Logical-Termination-Point (LTP) associated to the CSEP.";\r
718         }\r
719         description "none";\r
720     }\r
721     grouping power-management-capability-pac {\r
722         container supportable-maximum-output-power {\r
723             uses power-properties;\r
724             description "This parameter exposes the maximum output power supported\r
725                 at the Logical-Termination-Point (LTP) associated to the SIP.";\r
726         }\r
727         container supportable-minimum-output-power {\r
728             uses power-properties;\r
729             description "This parameter exposes the minimum output power supported\r
730                 at the Logical-Termination-Point (LTP) associated to the SIP.";\r
731         }\r
732         container tolerable-maximum-input-power {\r
733             uses power-properties;\r
734             description "This parameter exposes the maximum input power tolerated\r
735                 at the Logical-Termination-Point (LTP) associated to the SIP.";\r
736         }\r
737         container tolerable-minimum-input-power {\r
738             uses power-properties;\r
739             description "This parameter exposes the minimum input power tolerated\r
740                 at the Logical-Termination-Point (LTP) associated to the SIP.";\r
741         }\r
742         description "none";\r
743     }\r
744     grouping mca-connectivity-service-end-point-spec {\r
745         list mc-config {\r
746             key 'local-id';\r
747             uses media-channel-config-pac;\r
748             description "none";\r
749         }\r
750         leaf number-of-mc {\r
751             type uint64;\r
752             default "1";\r
753             description "none";\r
754         }\r
755         container capacity {\r
756             uses tapi-common:capacity-value;\r
757             description "Total capacity of an MCA/OTSiMCA.\r
758                 Capacity may be omitted if spectrum is specified.\r
759                 Capacity cannot be omitted if spectrum is not specified.";\r
760         }\r
761         description "This class allows the provisioning of MCA/OTSiMCA (*) ConnectivityService.\r
762             It is possible to provision either\r
763             1) MC/OTSiMC bandwidth/capacity or\r
764             2) MC/OTSiMC spectrum.\r
765             For the provisioning of 'OTSiMCA' ConnectivityService the MediaChannelAConnectivityServiceEndPointSpec is used,\r
766             leveraging the Layer Protocol Qualifier of CSEP (*) and the CSEPHasServerCSEP recursive association in case of combined provisioning, i.e.\r
767             when OTSiMCA' ConnectivityService provisioning drives also creation of 'supporting' MCs.\r
768             (*) Note that that assembly related Layer Protocol Qualifiers (OTSiA, MCA, OTSiMCA) are not used, as the assembly is modeled through associations between objects.";\r
769     }\r
770     grouping otsia-connectivity-service-end-point-spec {\r
771         list otsi-config {\r
772             key 'local-id';\r
773             uses otsi-termination-config-pac;\r
774             description "none";\r
775         }\r
776         leaf number-of-otsi {\r
777             type uint64;\r
778             default "1";\r
779             description "none";\r
780         }\r
781         description "This class allows the provisioning of OTSiA (*) ConnectivityService.\r
782             It is possible to either \r
783             1) delegate the choice of all OTSi characteristics to the server controller (zero OtsiTerminationConfigPac instances), or\r
784             2) specify one, more or all OtsiTerminationConfigPac parameters.\r
785             (*) Note that that assembly related Layer Protocol Qualifiers (OTSiA, MCA, OTSiMCA) are not used, as the assembly is modeled through associations between objects.";\r
786     }\r
787 \r
788     /**************************\r
789     * package type-definitions\r
790     **************************/ \r
791     identity PHOTONIC_LAYER_QUALIFIER {\r
792         base tapi-common:LAYER_PROTOCOL_QUALIFIER;\r
793         description "none";\r
794     }\r
795     identity PHOTONIC_LAYER_QUALIFIER_OTSi {\r
796         base PHOTONIC_LAYER_QUALIFIER;\r
797         description "none";\r
798     }\r
799     identity PHOTONIC_LAYER_QUALIFIER_OTSiA {\r
800         base PHOTONIC_LAYER_QUALIFIER;\r
801         description "none";\r
802     }\r
803     identity PHOTONIC_LAYER_QUALIFIER_OTSiG {\r
804         base PHOTONIC_LAYER_QUALIFIER;\r
805         description "none";\r
806     }\r
807     identity PHOTONIC_LAYER_QUALIFIER_NMC {\r
808         base PHOTONIC_LAYER_QUALIFIER;\r
809         description "none";\r
810     }\r
811     identity PHOTONIC_LAYER_QUALIFIER_NMCA {\r
812         base PHOTONIC_LAYER_QUALIFIER;\r
813         description "none";\r
814     }\r
815     identity PHOTONIC_LAYER_QUALIFIER_SMC {\r
816         base PHOTONIC_LAYER_QUALIFIER;\r
817         description "none";\r
818     }\r
819     identity PHOTONIC_LAYER_QUALIFIER_SMCA {\r
820         base PHOTONIC_LAYER_QUALIFIER;\r
821         description "none";\r
822     }\r
823     identity PHOTONIC_LAYER_QUALIFIER_OCH {\r
824         base PHOTONIC_LAYER_QUALIFIER;\r
825         description "none";\r
826     }\r
827     identity PHOTONIC_LAYER_QUALIFIER_OMS {\r
828         base PHOTONIC_LAYER_QUALIFIER;\r
829         description "none";\r
830     }\r
831     identity PHOTONIC_LAYER_QUALIFIER_OTS {\r
832         base PHOTONIC_LAYER_QUALIFIER;\r
833         description "none";\r
834     }\r
835     identity PHOTONIC_LAYER_QUALIFIER_OTSiMC {\r
836         base PHOTONIC_LAYER_QUALIFIER;\r
837         description "OTSiMC represents the bw portion dedicated to an OTSi.";\r
838     }\r
839     identity PHOTONIC_LAYER_QUALIFIER_OTSiMCA {\r
840         base PHOTONIC_LAYER_QUALIFIER;\r
841         description "OTSiMCA is the set of OTSiMC supporting an OTSiA.";\r
842     }\r
843     identity PHOTONIC_LAYER_QUALIFIER_MC {\r
844         base PHOTONIC_LAYER_QUALIFIER;\r
845         description "The continuous optical spectrum between end points in the photonic layer obtained through optical filter configurations where it is expected one (or more - super channel case) OTSi(s).";\r
846     }\r
847     identity PHOTONIC_LAYER_QUALIFIER_MCA {\r
848         base PHOTONIC_LAYER_QUALIFIER;\r
849         description "Media Channel Assembly: the set of one or more MCs supporting one (or more) OTSiA(s).\r
850             ";\r
851     }\r
852     grouping application-identifier {\r
853         leaf application-identifier-type {\r
854             type application-identifier-type;\r
855             description "The ITU-T recommendation which defines the application code format.";\r
856         }\r
857         leaf application-code {\r
858             type string;\r
859             description "none";\r
860         }\r
861         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
862     }\r
863     grouping central-frequency {\r
864         container frequency-constraint {\r
865             uses frequency-constraint;\r
866             description "none";\r
867         }\r
868         leaf central-frequency {\r
869             type uint64;\r
870             description "The central frequency of the laser specified in MHz. It is the oscillation frequency of the corresponding electromagnetic wave. ";\r
871         }\r
872         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.";\r
873     }\r
874     typedef optical-routing-strategy {\r
875         type enumeration {\r
876             enum OPTIMAL_OSNR {\r
877                 description "none";\r
878             }\r
879             enum NO_RELAY {\r
880                 description "none";\r
881             }\r
882             enum MIN_RELAY {\r
883                 description "none";\r
884             }\r
885             enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {\r
886                 description "none";\r
887             }\r
888             enum PREFERRED_NO_SKIPPING_WAVELENGTH {\r
889                 description "none";\r
890             }\r
891         }\r
892         description "none";\r
893     }\r
894     typedef application-identifier-type {\r
895         type enumeration {\r
896             enum PROPRIETARY {\r
897                 description "none";\r
898             }\r
899             enum ITUT_G959_1 {\r
900                 description "none";\r
901             }\r
902             enum ITUT_G698_1 {\r
903                 description "none";\r
904             }\r
905             enum ITUT_G698_2 {\r
906                 description "none";\r
907             }\r
908             enum ITUT_G696_1 {\r
909                 description "none";\r
910             }\r
911             enum ITUT_G695 {\r
912                 description "none";\r
913             }\r
914         }\r
915         description "none";\r
916     }\r
917     typedef grid-type {\r
918         type enumeration {\r
919             enum DWDM {\r
920                 description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1\r
921                     ";\r
922             }\r
923             enum CWDM {\r
924                 description "Fixed frequency grid as specified in ITU-T G.694.2";\r
925             }\r
926             enum FLEX {\r
927                 description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,\r
928                     - the allowed frequency slots have a nominal central frequency (in THz) defined by:\r
929                     193.1 + n x 0.00625 where n is a positive or negative integer including 0 and 0.00625 is the nominal central frequency granularity in THz\r
930                     - and a slot width defined by:\r
931                     12.5 x m where m is a positive integer and 12.5 is the slot width granularity in GHz.\r
932                     Any combination of frequency slots is allowed as long as no two frequency slots overlap.";\r
933             }\r
934             enum GRIDLESS {\r
935                 description "none";\r
936             }\r
937             enum UNSPECIFIED {\r
938                 description "Unspecified/proprietary frequency grid";\r
939             }\r
940         }\r
941         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
942     }\r
943     typedef adjustment-granularity {\r
944         type enumeration {\r
945             enum G_100GHZ {\r
946                 description "100000 MHz";\r
947             }\r
948             enum G_50GHZ {\r
949                 description "50000 MHz";\r
950             }\r
951             enum G_25GHZ {\r
952                 description "25000 MHz";\r
953             }\r
954             enum G_12_5GHZ {\r
955                 description "12500 MHz";\r
956             }\r
957             enum G_6_25GHZ {\r
958                 description "6250 MHz";\r
959             }\r
960             enum G_3_125GHZ {\r
961                 description "3125 MHz";\r
962             }\r
963             enum UNCONSTRAINED {\r
964                 description "none";\r
965             }\r
966         }\r
967         description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency";\r
968     }\r
969     grouping spectrum-band {\r
970         leaf upper-frequency {\r
971             type uint64;\r
972             description "The upper frequency bound of the media channel spectrum specified in MHz";\r
973         }\r
974         leaf lower-frequency {\r
975             type uint64;\r
976             description "The lower frequency bound of the media channel spectrum specified in MHz";\r
977         }\r
978         container frequency-constraint {\r
979             uses frequency-constraint;\r
980             description "none";\r
981         }\r
982         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
983     }\r
984     typedef modulation-technique {\r
985         type enumeration {\r
986             enum RZ {\r
987                 description "none";\r
988             }\r
989             enum NRZ {\r
990                 description "none";\r
991             }\r
992             enum BPSK {\r
993                 description "none";\r
994             }\r
995             enum DPSK {\r
996                 description "none";\r
997             }\r
998             enum QPSK {\r
999                 description "none";\r
1000             }\r
1001             enum 8QAM {\r
1002                 description "none";\r
1003             }\r
1004             enum 16QAM {\r
1005                 description "none";\r
1006             }\r
1007             enum PAM4 {\r
1008                 description "none";\r
1009             }\r
1010             enum PAM8 {\r
1011                 description "none";\r
1012             }\r
1013             enum UNDEFINED {\r
1014                 description "none";\r
1015             }\r
1016         }\r
1017         description "none";\r
1018     }\r
1019     typedef laser-type {\r
1020         type enumeration {\r
1021             enum PUMP {\r
1022                 description "none";\r
1023             }\r
1024             enum MODULATED {\r
1025                 description "none";\r
1026             }\r
1027             enum PULSE {\r
1028                 description "none";\r
1029             }\r
1030         }\r
1031         description "none";\r
1032     }\r
1033     typedef photonic-layer-qualifier {\r
1034         type identityref {\r
1035             base PHOTONIC_LAYER_QUALIFIER;\r
1036         }\r
1037         description "Tag as deprecated OTSiG\r
1038             Tag as deprecated NMC, replaced by OTSiMC\r
1039             Tag as deprecated NMCA, replaced by OTSiMCA\r
1040             Tag as deprecated SMC, replaced by MC\r
1041             Tag as deprecated SMCA, replace by MCA";\r
1042     }\r
1043     typedef laser-control-type {\r
1044         type enumeration {\r
1045             enum FORCED-ON {\r
1046                 description "none";\r
1047             }\r
1048             enum FORCED-OFF {\r
1049                 description "none";\r
1050             }\r
1051             enum AUTOMATIC-LASER-SHUTDOWN {\r
1052                 description "none";\r
1053             }\r
1054             enum UNDEFINED {\r
1055                 description "none";\r
1056             }\r
1057         }\r
1058         description "none";\r
1059     }\r
1060     typedef laser-control-status-type {\r
1061         type enumeration {\r
1062             enum ON {\r
1063                 description "none";\r
1064             }\r
1065             enum OFF {\r
1066                 description "none";\r
1067             }\r
1068             enum PULSING {\r
1069                 description "none";\r
1070             }\r
1071             enum UNDEFINED {\r
1072                 description "none";\r
1073             }\r
1074         }\r
1075         description "none";\r
1076     }\r
1077     grouping frequency-constraint {\r
1078         leaf adjustment-granularity {\r
1079             type adjustment-granularity;\r
1080             description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";\r
1081         }\r
1082         leaf grid-type {\r
1083             type grid-type;\r
1084             description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";\r
1085         }\r
1086         description "This data-type holds the frequency constraint information in terms of GridType ( FIXED grid (DWDM or CWDM) or FLEX grid) and AdjustmentGranularity.";\r
1087     }\r
1088     grouping power-properties {\r
1089         leaf total-power {\r
1090             type decimal64 {\r
1091                 fraction-digits 7;\r
1092             }\r
1093             description "The total power at any point in a channel specified in dBm.";\r
1094         }\r
1095         leaf power-spectral-density {\r
1096             type decimal64 {\r
1097                 fraction-digits 7;\r
1098             }\r
1099             description "This describes how power of a signal  is distributed over frequency specified in nW/MHz";\r
1100         }\r
1101         description "none";\r
1102     }\r
1103     grouping central-frequency-band {\r
1104         leaf lower-central-frequency {\r
1105             type uint64;\r
1106             description "The lower central frequency that can be tuned in the laser specified in MHz.\r
1107                 It is the oscillation frequency of the corresponding electromagnetic wave. ";\r
1108         }\r
1109         leaf upper-central-frequency {\r
1110             type uint64;\r
1111             description "The upper central frequency that can be tuned in the laser specified in MHz.\r
1112                 It is the oscillation frequency of the corresponding electromagnetic wave. ";\r
1113         }\r
1114         container frequency-constraint {\r
1115             uses frequency-constraint;\r
1116             description "none";\r
1117         }\r
1118         description "This data-type represents a range of central frequency spectrum band specified as lower and upper bounds, inclusive of the bound values.\r
1119             It also holds frequency constraints in terms of GridType ( FIXED grid (DWDM or CWDM) or FLEX grid) and AdjustmentGranularity.";\r
1120     }\r
1121 \r
1122 }\r