6489e0ee4f7a102d64e097d0e854ff57db192f7d
[ccsdk/features.git] / sdnr / wt / devicemanager / provider / src / main / resources / preload.cache.schema / tapi-common@2018-08-31.yang
1 module tapi-common {\r
2     namespace "urn:onf:otcc:yang:tapi-common";\r
3     prefix tapi-common;\r
4     organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
5     contact "
6         Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
7         Project List: <mailto:transport-api@opennetworking.org>
8         Editor: Karthik Sethuraman
9                 <mailto:karthik.sethuraman@necam.com>";\r
10     description "\r
11         This module contains TAPI Common Model definitions.\r
12         Source: TapiCommon.uml\r
13         Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
14         License: This module is distributed under the Apache License 2.0\r
15         ";\r
16     revision 2018-08-31 {\r
17         description "ONF Transport API version 2.1.0
18         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
19         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
20         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
21                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
22     }\r
23     revision 2018-03-07 {\r
24         description "ONF Transport API version 2.0.2
25         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
26         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
27         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
28                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
29     }\r
30     revision 2018-02-16 {\r
31         description "ONF Transport API version 2.0.1
32         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
33         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
34         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
35                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
36     }\r
37     revision 2018-01-02 {\r
38         description "ONF Transport API version 2.0.0
39         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
40         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
41         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
42                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
43     }\r
44 \r
45     /*************************\r
46     * definitions of refrences\r
47     *************************/\r
48     grouping service-interface-point-ref-g {\r
49         leaf service-interface-point-uuid {\r
50             type leafref {\r
51                 path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';\r
52             }\r
53             description "none";\r
54         }\r
55         description "none";\r
56     }\r
57 \r
58     /***********************\r
59     * package object-classes\r
60     **********************/ \r
61         grouping admin-state-pac-g {\r
62             leaf administrative-state {\r
63                 type administrative-state;\r
64                 description "none";\r
65             }\r
66             leaf operational-state {\r
67                 type operational-state;\r
68                 config false;\r
69                 description "none";\r
70             }\r
71             leaf lifecycle-state {\r
72                 type lifecycle-state;\r
73                 config false;\r
74                 description "none";\r
75             }\r
76             description "Provides state attributes that are applicable to an entity that can be administered. Such an entity also has operational and lifecycle aspects.";\r
77         }\r
78         grouping global-class-g {\r
79             leaf uuid {\r
80                 type uuid;\r
81                 description "UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity.\r
82                     UUID here uses string representation as defined in RFC 4122.  The canonical representation uses lowercase characters.\r
83                     Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} \r
84                     Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\r
85             }\r
86             list name {\r
87                 key 'value-name';\r
88                 uses name-and-value-g;\r
89                 description "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";\r
90             }\r
91             description "The TAPI GlobalComponent serves as the super class for all TAPI entities that can be directly retrieved by their ID. As such, these are first class entities and their ID is expected to be globally unique. ";\r
92         }\r
93         grouping lifecycle-state-pac-g {\r
94             leaf lifecycle-state {\r
95                 type lifecycle-state;\r
96                 config false;\r
97                 description "none";\r
98             }\r
99             description "Provides state attributes for an entity that has lifeccycle aspects only.";\r
100         }\r
101         grouping local-class-g {\r
102             leaf local-id {\r
103                 type string;\r
104                 description "none";\r
105             }\r
106             list name {\r
107                 key 'value-name';\r
108                 uses name-and-value-g;\r
109                 description "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";\r
110             }\r
111             description "The TAPI GlobalComponent serves as the super class for all TAPI entities that can be directly retrieved by their ID. As such, these are first class entities and their ID is expected to be globally unique. ";\r
112         }\r
113         grouping operational-state-pac-g {\r
114             leaf operational-state {\r
115                 type operational-state;\r
116                 config false;\r
117                 description "none";\r
118             }\r
119             leaf lifecycle-state {\r
120                 type lifecycle-state;\r
121                 config false;\r
122                 description "none";\r
123             }\r
124             description "Provides state attributes that are applicable to an entity that reflects operational aspects. Such an entity is expected to also have lifecycle aspects.";\r
125         }\r
126         container context {\r
127             uses tapi-context-g;\r
128             presence "Root container for all TAPI interaction";\r
129             description "none";\r
130         }\r
131         grouping tapi-context-g {\r
132             list service-interface-point {\r
133                 key 'uuid';\r
134                 uses service-interface-point-g;\r
135                 description "none";\r
136             }\r
137             uses global-class-g;\r
138             description "The Network Control Domain (NCD) object class represents the scope of control that a particular SDN controller has with respect to a particular network, (i.e., encompassing a designated set of interconnected (virtual) network elements).";\r
139         }\r
140         grouping resource-spec-g {\r
141             uses global-class-g;\r
142             description "none";\r
143         }\r
144         grouping service-spec-g {\r
145             uses global-class-g;\r
146             description "none";\r
147         }\r
148         grouping service-interface-point-g {\r
149             leaf layer-protocol-name {\r
150                 type layer-protocol-name;\r
151                 config false;\r
152                 description "Usage of layerProtocolName [>1]  in the ServiceInterfacePoint should be considered experimental";\r
153             }\r
154             leaf-list supported-layer-protocol-qualifier {\r
155                 type layer-protocol-qualifier;\r
156                 config false;\r
157                 min-elements 1;\r
158                 description "none";\r
159             }\r
160             uses resource-spec-g;\r
161             uses admin-state-pac-g;\r
162             uses capacity-pac-g;\r
163             description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers. \r
164                 The structure of LTP supports all transport protocols including circuit and packet forms.";\r
165         }\r
166         grouping capacity-pac-g {\r
167             container total-potential-capacity {\r
168                 config false;\r
169                 uses capacity-g;\r
170                 description "An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken.";\r
171             }\r
172             container available-capacity {\r
173                 config false;\r
174                 uses capacity-g;\r
175                 description "Capacity available to be assigned.";\r
176             }\r
177             description "The TopologicalEntity derives capacity from the underlying realization. \r
178                 A TopologicalEntity may be an abstraction and virtualization of a subset of the underlying capability offered in a view or may be directly reflecting the underlying realization.\r
179                 A TopologicalEntity may be directly used in the view or may be assigned to another view for use.\r
180                 The clients supported by a multi-layer TopologicalEntity may interact such that the resources used by one client may impact those available to another. This is derived from the LTP spec details.\r
181                 Represents the capacity available to user (client) along with client interaction and usage. \r
182                 A TopologicalEntity may reflect one or more client protocols and one or more members for each profile.";\r
183         }\r
184         grouping termination-pac-g {\r
185             leaf termination-direction {\r
186                 type termination-direction;\r
187                 config false;\r
188                 description "The overall directionality of the LP. \r
189                     - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.\r
190                     - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows\r
191                     - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";\r
192             }\r
193             leaf termination-state {\r
194                 type termination-state;\r
195                 config false;\r
196                 description "Indicates whether the layer is terminated and if so how.";\r
197             }\r
198             description "Each transport layer is represented by a LayerProtocol (LP) instance. The LayerProtocol instances it can be used for controlling termination and monitoring functionality. \r
199                 It can also be used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection. \r
200                 Where the client â€“ server relationship is fixed 1:1 and immutable, the layers can be encapsulated in a single LTP instance. Where the is a n:1 relationship between client and server, the layers must be split over two separate instances of LTP. ";\r
201         }\r
202 \r
203     /***********************\r
204     * package type-definitions\r
205     **********************/ \r
206         identity LAYER_PROTOCOL_QUALIFIER {\r
207             description "none";\r
208         }\r
209         typedef administrative-state {\r
210             type enumeration {\r
211                 enum LOCKED {\r
212                     description "Users are administratively prohibited from making use of the resource.";\r
213                 }\r
214                 enum UNLOCKED {\r
215                     description "Users are allowed to use the resource";\r
216                 }\r
217             }\r
218             description "The possible values of the administrativeState.";\r
219         }\r
220         typedef date-and-time {\r
221             type string;\r
222             description "This primitive type defines the date and time according to the following structure:\r
223                 yyyyMMddhhmmss.s[Z|{+|-}HHMm] where:\r
224                 yyyy    0000..9999    year\r
225                 MM    01..12            month\r
226                 dd        01..31            day\r
227                 hh        00..23            hour\r
228                 mm    00..59            minute\r
229                 ss        00..59            second\r
230                 s        .0...9            tenth of second (set to .0 if EMS or NE cannot support this granularity)\r
231                 Z        Z                indicates UTC (rather than local time)\r
232                 {+|-}    + or -            delta from UTC\r
233                 HH        00..23            time zone difference in hours\r
234                 Mm    00..59            time zone difference in minutes.";\r
235         }\r
236         typedef directive-value {\r
237             type enumeration {\r
238                 enum MINIMIZE {\r
239                     description "none";\r
240                 }\r
241                 enum MAXIMIZE {\r
242                     description "none";\r
243                 }\r
244                 enum ALLOW {\r
245                     description "none";\r
246                 }\r
247                 enum DISALLOW {\r
248                     description "none";\r
249                 }\r
250                 enum DONT_CARE {\r
251                     description "none";\r
252                 }\r
253             }\r
254             description "none";\r
255         }\r
256         typedef forwarding-direction {\r
257             type enumeration {\r
258                 enum BIDIRECTIONAL {\r
259                     description "The Fowarding entity supports both BIDIRECTIONAL flows at all Ports (i.e. all Ports have both an INPUT flow and an OUTPUT flow defined)";\r
260                 }\r
261                 enum UNIDIRECTIONAL {\r
262                     description "The Forwarding entity has Ports that are either INPUT or OUTPUT. It has no BIDIRECTIONAL Ports.";\r
263                 }\r
264                 enum UNDEFINED_OR_UNKNOWN {\r
265                     description "Not a normal state. The system is unable to determine the correct value.";\r
266                 }\r
267             }\r
268             description "The directionality of a Forwarding entity.";\r
269         }\r
270         typedef layer-protocol-name {\r
271             type enumeration {\r
272                 enum ODU {\r
273                     description "Models the ODU layer as per ITU-T G.872";\r
274                 }\r
275                 enum ETH {\r
276                     description "Models the ETH layer as per ITU-T G.8010";\r
277                 }\r
278                 enum DSR {\r
279                     description "Models a Digital Signal of an unspecified rate. This value can be used when the intent is to respresent an generic digital layer signal without making any statement on its format or overhead (processing) capabilities.";\r
280                 }\r
281                 enum PHOTONIC_MEDIA {\r
282                     description "Models the OCH, OTSi, OTSiA, OTSiG, OMS, OTS and Media channels as per ITU-T G.872 (2017) version 4";\r
283                 }\r
284             }\r
285             description "Provides a controlled list of layer protocol names and indicates the naming authority.\r
286                 Note that it is expected that attributes will be added to this structure to convey the naming authority name, the name of the layer protocol using a human readable string and any particular standard reference.\r
287                 Layer protocol names include:\r
288                 -    Layer 1 (L1): OTU, ODU\r
289                 -    Layer 2 (L2): Carrier Grade Ethernet (ETY, ETH), MPLS-TP (MT)\r
290                 ";\r
291         }\r
292         typedef lifecycle-state {\r
293             type enumeration {\r
294                 enum PLANNED {\r
295                     description "The resource is planned but is not present in the network.";\r
296                 }\r
297                 enum POTENTIAL_AVAILABLE {\r
298                     description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.\r
299                         o    When a potential resource is configured and allocated to a client it is moved to the installed state for that client.\r
300                         o    If the potential resource has been consumed (e.g. allocated to another client) it is moved to the planned state for all other clients.";\r
301                 }\r
302                 enum POTENTIAL_BUSY {\r
303                     description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.\r
304                         o    When a potential resource is configured and allocated to a client it is moved to the installed state for that client.\r
305                         o    If the potential resource has been consumed (e.g. allocated to another client) it is moved to the planned state for all other clients.";\r
306                 }\r
307                 enum INSTALLED {\r
308                     description "The resource is present in the network and is capable of providing the service expected.";\r
309                 }\r
310                 enum PENDING_REMOVAL {\r
311                     description "The resource has been marked for removal";\r
312                 }\r
313             }\r
314             description "The possible values of the lifecycleState.";\r
315         }\r
316         grouping name-and-value-g {\r
317             leaf value-name {\r
318                 type string;\r
319                 description "The name of the value. The value need not have a name.";\r
320             }\r
321             leaf value {\r
322                 type string;\r
323                 description "The value";\r
324             }\r
325             description "A scoped name-value pair";\r
326         }\r
327         typedef operational-state {\r
328             type enumeration {\r
329                 enum DISABLED {\r
330                     description "The resource is unable to meet the SLA of the user of the resource. If no (explicit) SLA is defined the resource is disabled if it is totally inoperable and unable to provide service to the user.";\r
331                 }\r
332                 enum ENABLED {\r
333                     description "The resource is partially or fully operable and available for use";\r
334                 }\r
335             }\r
336             description "The possible values of the operationalState.";\r
337         }\r
338         typedef port-direction {\r
339             type enumeration {\r
340                 enum BIDIRECTIONAL {\r
341                     description "The Port has both an INPUT flow and an OUTPUT flow defined.";\r
342                 }\r
343                 enum INPUT {\r
344                     description "The Port only has definition for a flow into the Forwarding entity (i.e. an ingress flow).";\r
345                 }\r
346                 enum OUTPUT {\r
347                     description "The Port only has definition for a flow out of the Forwarding entity (i.e. an egress flow).";\r
348                 }\r
349                 enum UNIDENTIFIED_OR_UNKNOWN {\r
350                     description "Not a normal state. The system is unable to determine the correct value.";\r
351                 }\r
352             }\r
353             description "The orientation of flow at the Port of a Forwarding entity";\r
354         }\r
355         typedef port-role {\r
356             type enumeration {\r
357                 enum SYMMETRIC {\r
358                     description "none";\r
359                 }\r
360                 enum ROOT {\r
361                     description "none";\r
362                 }\r
363                 enum LEAF {\r
364                     description "none";\r
365                 }\r
366                 enum TRUNK {\r
367                     description "none";\r
368                 }\r
369                 enum UNKNOWN {\r
370                     description "none";\r
371                 }\r
372             }\r
373             description "The role of an end in the context of the function of the forwarding entity that it bounds";\r
374         }\r
375         typedef termination-direction {\r
376             type enumeration {\r
377                 enum BIDIRECTIONAL {\r
378                     description "A Termination with both SINK and SOURCE flows.";\r
379                 }\r
380                 enum SINK {\r
381                     description "The flow is up the layer stack from the server side to the client side. \r
382                         Considering an example of a Termination function within the termination entity, a SINK flow:\r
383                         - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component\r
384                         - then will be decoded and deconstructed \r
385                         - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component\r
386                         A SINK termination is one that only supports a SINK flow.\r
387                         A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";\r
388                 }\r
389                 enum SOURCE {\r
390                     description "The flow is down the layer stack from the server side to the client side. \r
391                         Considering an example of a Termination function within the termination entity, a SOURCE flow:\r
392                         - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component\r
393                         - then will be assembled with various overheads etc and will be coded \r
394                         - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component\r
395                         A SOURCE termination is one that only supports a SOURCE flow.\r
396                         A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";\r
397                 }\r
398                 enum UNDEFINED_OR_UNKNOWN {\r
399                     description "Not a normal state. The system is unable to determine the correct value.";\r
400                 }\r
401             }\r
402             description "The directionality of a termination entity";\r
403         }\r
404         typedef termination-state {\r
405             type enumeration {\r
406                 enum LP_CAN_NEVER_TERMINATE {\r
407                     description "A non-flexible case that can never be terminated.";\r
408                 }\r
409                 enum LT_NOT_TERMINATED {\r
410                     description "A flexible termination that can terminate but is currently not terminated.";\r
411                 }\r
412                 enum TERMINATED_SERVER_TO_CLIENT_FLOW {\r
413                     description "A flexible termination that is currently terminated for server to client flow only.";\r
414                 }\r
415                 enum TERMINATED_CLIENT_TO_SERVER_FLOW {\r
416                     description "A flexible termination that is currently terminated for client to server flow only.";\r
417                 }\r
418                 enum TERMINATED_BIDIRECTIONAL {\r
419                     description "A flexible termination that is currently terminated in both directions of flow.";\r
420                 }\r
421                 enum LT_PERMENANTLY_TERMINATED {\r
422                     description "A non-flexible termination that is always terminated (in both directions of flow for a bidirectional case and in the one direction of flow for both unidirectional cases).";\r
423                 }\r
424                 enum TERMINATION_STATE_UNKNOWN {\r
425                     description "There TerminationState cannot be determined.";\r
426                 }\r
427             }\r
428             description "Provides support for the range of behaviours and specific states that an LP can take with respect to termination of the signal.\r
429                 Indicates to what degree the LayerTermination is terminated.";\r
430         }\r
431         typedef uuid {\r
432             type string;\r
433             description "The univeral ID value where the mechanism for generation is defned by some authority not directly referenced in the structure.\r
434                 UUID here uses string representation as defined in RFC 4122.  The canonical representation uses lowercase characters.\r
435                 Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} \r
436                 Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\r
437         }\r
438         grouping capacity-g {\r
439             container total-size {\r
440                 uses capacity-value-g;\r
441                 description "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate.";\r
442             }\r
443             container bandwidth-profile {\r
444                 uses bandwidth-profile-g;\r
445                 description "none";\r
446             }\r
447             description "Information on capacity of a particular TopologicalEntity.";\r
448         }\r
449         grouping bandwidth-profile-g {\r
450             leaf bw-profile-type {\r
451                 type bandwidth-profile-type;\r
452                 description "none";\r
453             }\r
454             container committed-information-rate {\r
455                 uses capacity-value-g;\r
456                 description "none";\r
457             }\r
458             container committed-burst-size {\r
459                 uses capacity-value-g;\r
460                 description "none";\r
461             }\r
462             container peak-information-rate {\r
463                 uses capacity-value-g;\r
464                 description "none";\r
465             }\r
466             container peak-burst-size {\r
467                 uses capacity-value-g;\r
468                 description "none";\r
469             }\r
470             leaf color-aware {\r
471                 type boolean;\r
472                 description "none";\r
473             }\r
474             leaf coupling-flag {\r
475                 type boolean;\r
476                 description "none";\r
477             }\r
478             description "none";\r
479         }\r
480         grouping capacity-value-g {\r
481             leaf value {\r
482                 type uint64;\r
483                 description "none";\r
484             }\r
485             leaf unit {\r
486                 type capacity-unit;\r
487                 description "none";\r
488             }\r
489             description "The Capacity (Bandwidth) values that are applicable for digital layers.";\r
490         }\r
491         typedef capacity-unit {\r
492             type enumeration {\r
493                 enum TB {\r
494                     description "Indicates that the integer CapacityValue is in TeraBytes";\r
495                 }\r
496                 enum TBPS {\r
497                     description "Indicates that the integer CapacityValue is in Terabit-per-second";\r
498                 }\r
499                 enum GB {\r
500                     description "Indicates that the integer CapacityValue is in GigaBytes";\r
501                 }\r
502                 enum GBPS {\r
503                     description "Indicates that the integer CapacityValue is in Gigabit-per-second";\r
504                 }\r
505                 enum MB {\r
506                     description "Indicates that the integer CapacityValue is in MegaBytes";\r
507                 }\r
508                 enum MBPS {\r
509                     description "Indicates that the integer CapacityValue is in Megabit-per-second";\r
510                 }\r
511                 enum KB {\r
512                     description "Indicates that the integer CapacityValue is in KiloBytes";\r
513                 }\r
514                 enum KBPS {\r
515                     description "Indicates that the integer CapacityValue is in Kilobit-per-second";\r
516                 }\r
517                 enum GHz {\r
518                     description "none";\r
519                 }\r
520                 enum MHz {\r
521                     description "none";\r
522                 }\r
523             }\r
524             description "none";\r
525         }\r
526         typedef bandwidth-profile-type {\r
527             type enumeration {\r
528                 enum MEF_10.x {\r
529                     description "none";\r
530                 }\r
531                 enum RFC_2697 {\r
532                     description "none";\r
533                 }\r
534                 enum RFC_2698 {\r
535                     description "none";\r
536                 }\r
537                 enum RFC_4115 {\r
538                     description "none";\r
539                 }\r
540             }\r
541             description "none";\r
542         }\r
543         grouping time-range-g {\r
544             leaf end-time {\r
545                 type date-and-time;\r
546                 description "none";\r
547             }\r
548             leaf start-time {\r
549                 type date-and-time;\r
550                 description "none";\r
551             }\r
552             description "none";\r
553         }\r
554         grouping time-period-g {\r
555             leaf value {\r
556                 type uint64;\r
557                 description "none";\r
558             }\r
559             leaf unit {\r
560                 type time-unit;\r
561                 description "none";\r
562             }\r
563             description "none";\r
564         }\r
565         typedef time-unit {\r
566             type enumeration {\r
567                 enum YEARS {\r
568                     description "none";\r
569                 }\r
570                 enum MONTHS {\r
571                     description "none";\r
572                 }\r
573                 enum DAYS {\r
574                     description "none";\r
575                 }\r
576                 enum HOURS {\r
577                     description "none";\r
578                 }\r
579                 enum MINUTES {\r
580                     description "none";\r
581                 }\r
582                 enum SECONDS {\r
583                     description "none";\r
584                 }\r
585                 enum MILLISECONDS {\r
586                     description "none";\r
587                 }\r
588                 enum MICROSECONDS {\r
589                     description "none";\r
590                 }\r
591                 enum NANOSECONDS {\r
592                     description "none";\r
593                 }\r
594                 enum PICOSECONDS {\r
595                     description "none";\r
596                 }\r
597             }\r
598             description "none";\r
599         }\r
600         grouping time-interval-g {\r
601             list period {\r
602                 min-elements 1;\r
603                 max-elements 5;\r
604                 uses time-period-g;\r
605                 description "none";\r
606             }\r
607             description "none";\r
608         }\r
609         typedef layer-protocol-qualifier {\r
610             type identityref {\r
611                 base LAYER_PROTOCOL_QUALIFIER;\r
612             }\r
613             description "This enumeration is used to qualify the sub-layers (if applicable) for a specific LayerProtocol.\r
614                 This extensible enumeration is intentionally empty in the common module and will be augmented with layer-specific values in the respective technology-specific modules.\r
615                 Examples:\r
616                 - LayerProtocolName := OPTICAL_DATA_UNIT\r
617                 LayerProtocolQualifier := 'ODU_FLEX', 'ODU_0', 'ODU_1', 'ODU_2', 'ODU_2E', 'ODU_3', 'ODU_4'', 'ODU_CBR'', 'ODU_GFP'', 'ODU_GFP_HAO', etc\r
618                 - LayerProtocolName := DIGITAL_SIGNAL_RATE\r
619                 LayerProtocolQualifier := 'GBE', '10_GBE_WAN', '10_GBE_LAN', '100_GBE', 'FC_100', 'FC_200', 'FC_400', 'FC_800', 'FC_1200', 'FC_1600', 'FC_3200', 'STM_1', 'STM_4', 'STM_16', 'STM_64', 'STM_256', 'OC_3', 'OC_12', 'OC_48', 'OC_192', 'OC_768', 'OTU_1', 'OTU_2', 'OTU_2E', 'OTU_3', 'OTU_4', 'GPON', 'XGPON', 'IB_SDR', 'IB_DDR', 'IB_QDR', 'SBCON_ESCON', 'DVB_ASI', 'SDI', 'SDI_1G5', 'SDI_3G', etc\r
620                 - LayerProtocolName := PHOTONIC_MEDIA\r
621                 LayerProtocolQualifier := OCH, OTSi, OTSiA, NMC, NMCA, SMC, SMCA, OMS, OTS\r
622                 ";\r
623         }\r
624 \r
625     /***********************\r
626     * package interfaces\r
627     **********************/ \r
628         rpc get-service-interface-point-details {\r
629             description "none";\r
630             input {\r
631                 leaf sip-id-or-name {\r
632                     type string;\r
633                     description "none";\r
634                 }\r
635             }\r
636             output {\r
637                 container sip {\r
638                     uses service-interface-point-g;\r
639                     description "none";\r
640                 }\r
641             }\r
642         }\r
643         rpc get-service-interface-point-list {\r
644             description "none";\r
645             output {\r
646                 list sip {\r
647                     uses service-interface-point-g;\r
648                     description "none";\r
649                 }\r
650             }\r
651         }\r
652         rpc update-service-interface-point {\r
653             description "none";\r
654             input {\r
655                 leaf sip-id-or-name {\r
656                     type string;\r
657                     description "none";\r
658                 }\r
659                 leaf state {\r
660                     type administrative-state;\r
661                     description "none";\r
662                 }\r
663             }\r
664         }\r
665 \r
666 }\r