Reorganization of devicemanager directory structure
[ccsdk/features.git] / sdnr / wt / devicemanager-core / provider / src / main / resources / preload.cache.schema / tapi-connectivity@2018-08-31.yang
1 module tapi-connectivity {
2     namespace "urn:onf:otcc:yang:tapi-connectivity";
3     prefix tapi-connectivity;
4     import tapi-common {
5         prefix tapi-common;
6     }
7     import tapi-topology {
8         prefix tapi-topology;
9     }
10     import tapi-path-computation {
11         prefix tapi-path-computation;
12     }
13     organization "ONF OTCC (Open Transport Configuration & Control) Project";
14     contact "
15         Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
16         Project List: <mailto:transport-api@opennetworking.org>
17         Editor: Karthik Sethuraman
18                 <mailto:karthik.sethuraman@necam.com>";
19     description "
20         This module contains TAPI Connectivity Model definitions.
21         Source: TapiConnectivity.uml
22         Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
23         License: This module is distributed under the Apache License 2.0";
24     revision 2018-08-31 {
25         description "ONF Transport API version 2.1.0
26         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
27         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
28         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
29                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
30     }
31     revision 2018-03-07 {
32         description "ONF Transport API version 2.0.2
33         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
34         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
35         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
36                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
37     }
38     revision 2018-02-16 {
39         description "ONF Transport API version 2.0.1
40         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
41         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
42         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
43                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
44     }
45     revision 2018-01-02 {
46         description "ONF Transport API version 2.0.0
47         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
48         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
49         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
50                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
51     }
52     augment "/tapi-common:context" {
53         uses connectivity-context-g;
54         description "Augments the base TAPI Context with ConnectivityService information";
55     }
56     augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
57         uses cep-list-g;
58         description "none";
59     }
60
61     /*************************
62     * definitions of references
63     *************************/
64     grouping connectivity-service-ref-g {
65         leaf connectivity-service-uuid {
66             type leafref {
67                 path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:uuid';
68             }
69             description "none";
70         }
71         description "none";
72     }
73
74     grouping connectivity-service-end-point-ref-g {
75         uses connectivity-service-ref-g;
76         leaf connectivity-service-end-point-local-id {
77             type leafref {
78                 path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id';
79             }
80             description "none";
81         }
82         description "none";
83     }
84     grouping connection-end-point-ref-g {
85         uses tapi-topology:node-edge-point-ref-g;
86         leaf connection-end-point-uuid {
87             type leafref {
88                 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point/tapi-connectivity:uuid';
89             }
90             description "none";
91         }
92         description "none";
93     }
94
95     grouping connection-ref-g {
96         leaf connection-uuid {
97             type leafref {
98                 path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:uuid';
99             }
100             description "none";
101         }
102         description "none";
103     }
104
105     grouping switch-control-ref-g {
106         uses connection-ref-g;
107         leaf switch-control-uuid {
108             type leafref {
109                 path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:switch-control/tapi-connectivity:uuid';
110             }
111             description "none";
112         }
113         description "none";
114     }
115
116     grouping route-ref-g {
117         uses connection-ref-g;
118         leaf route-local-id {
119             type leafref {
120                 path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id';
121             }
122             description "none";
123         }
124         description "none";
125     }
126
127     /***********************
128     * package object-classes
129     **********************/
130         grouping connection-g {
131             list connection-end-point {
132                 uses connection-end-point-ref-g;
133                 key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
134                 config false;
135                 min-elements 2;
136                 description "none";
137             }
138             list lower-connection {
139                 uses connection-ref-g;
140                 key 'connection-uuid';
141                 config false;
142                 description "An Connection object supports a recursive aggregation relationship such that the internal construction of an Connection can be exposed as multiple lower level Connection objects (partitioning).
143                     Aggregation is used as for the Node/Topology  to allow changes in hierarchy.
144                     Connection aggregation reflects Node/Topology aggregation.
145                     The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning.";
146             }
147             list supported-client-link {
148                 uses tapi-topology:link-ref-g;
149                 key 'topology-uuid link-uuid';
150                 config false;
151                 description "none";
152             }
153             list route {
154                 key 'local-id';
155                 config false;
156                 uses route-g;
157                 description "none";
158             }
159             list switch-control {
160                 key 'uuid';
161                 config false;
162                 uses switch-control-g;
163                 description "none";
164             }
165             leaf direction {
166                 type tapi-common:forwarding-direction;
167                 config false;
168                 description "none";
169             }
170             leaf layer-protocol-name {
171                 type tapi-common:layer-protocol-name;
172                 config false;
173                 description "none";
174             }
175             uses tapi-common:resource-spec-g;
176             uses tapi-common:operational-state-pac-g;
177             description "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.
178                 At the lowest level of recursion, a FC represents a cross-connection within an NE.";
179         }
180         grouping connection-end-point-g {
181             leaf layer-protocol-name {
182                 type tapi-common:layer-protocol-name;
183                 config false;
184                 description "none";
185             }
186             leaf layer-protocol-qualifier {
187                 type tapi-common:layer-protocol-qualifier;
188                 config false;
189                 description "none";
190             }
191             container parent-node-edge-point {
192                 uses tapi-topology:node-edge-point-ref-g;
193                 config false;
194                 description "none";
195             }
196             list client-node-edge-point {
197                 uses tapi-topology:node-edge-point-ref-g;
198                 key 'topology-uuid node-uuid node-edge-point-uuid';
199                 config false;
200                 description "none";
201             }
202             list aggregated-connection-end-point {
203                 uses connection-end-point-ref-g;
204                 key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
205                 config false;
206                 description "none";
207             }
208             leaf connection-port-direction {
209                 type tapi-common:port-direction;
210                 config false;
211                 description "The orientation of defined flow at the EndPoint.";
212             }
213             leaf connection-port-role {
214                 type tapi-common:port-role;
215                 config false;
216                 description "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root)  in the context of the FC with respect to the FC function. ";
217             }
218             uses tapi-common:resource-spec-g;
219             uses tapi-common:operational-state-pac-g;
220             uses tapi-common:termination-pac-g;
221             description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers.
222                 The structure of LTP supports all transport protocols including circuit and packet forms.";
223         }
224         grouping connectivity-constraint-g {
225             leaf service-layer {
226                 type tapi-common:layer-protocol-name;
227                 description "none";
228             }
229             leaf service-type {
230                 type service-type;
231                 description "none";
232             }
233             leaf service-level {
234                 type string;
235                 description "An abstract value the meaning of which is mutually agreed â€“ typically represents metrics such as - Class of service, priority, resiliency, availability";
236             }
237             container requested-capacity {
238                 uses tapi-common:capacity-g;
239                 description "none";
240             }
241             leaf connectivity-direction {
242                 type tapi-common:forwarding-direction;
243                 description "none";
244             }
245             container schedule {
246                 uses tapi-common:time-range-g;
247                 description "none";
248             }
249             container coroute-inclusion {
250                 uses connectivity-service-ref-g;
251                 description "none";
252             }
253             list diversity-exclusion {
254                 uses connectivity-service-ref-g;
255                 key 'connectivity-service-uuid';
256                 description "none";
257             }
258             description "none";
259         }
260         grouping connectivity-service-g {
261             list end-point {
262                 key 'local-id';
263                 min-elements 2;
264                 uses connectivity-service-end-point-g;
265                 description "none";
266             }
267             list connection {
268                 uses connection-ref-g;
269                 key 'connection-uuid';
270                 config false;
271                 description "none";
272             }
273             uses tapi-common:service-spec-g;
274             uses connectivity-constraint-g;
275             uses tapi-path-computation:routing-constraint-g;
276             uses tapi-path-computation:topology-constraint-g;
277             uses resilience-constraint-g;
278             uses tapi-common:admin-state-pac-g;
279             description "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.
280                 At the lowest level of recursion, a FC represents a cross-connection within an NE.";
281         }
282         grouping connectivity-service-end-point-g {
283             leaf layer-protocol-name {
284                 type tapi-common:layer-protocol-name;
285                 description "none";
286             }
287             leaf layer-protocol-qualifier {
288                 type tapi-common:layer-protocol-qualifier;
289                 description "none";
290             }
291             container service-interface-point {
292                 uses tapi-common:service-interface-point-ref-g;
293                 description "none";
294             }
295             list connection-end-point {
296                 uses connection-end-point-ref-g;
297                 key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
298                 config false;
299                 description "none";
300             }
301             container capacity {
302                 uses tapi-common:capacity-g;
303                 description "none";
304             }
305             leaf direction {
306                 type tapi-common:port-direction;
307                 description "The orientation of defined flow at the EndPoint.";
308             }
309             leaf role {
310                 type tapi-common:port-role;
311                 description "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root)  in the context of the FC with respect to the FC function. ";
312             }
313             leaf protection-role {
314                 type protection-role;
315                 description "To specify the protection role of this Port when create or update ConnectivityService.";
316             }
317             uses tapi-common:local-class-g;
318             uses tapi-common:admin-state-pac-g;
319             description "The association of the FC to LTPs is made via EndPoints.
320                 The EndPoint (EP) object class models the access to the FC function.
321                 The traffic forwarding between the associated EPs of the FC depends upon the type of FC and may be associated with FcSwitch object instances.
322                 In cases where there is resilience the EndPoint may convey the resilience role of the access to the FC.
323                 It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.
324                 The EP replaces the Protection Unit of a traditional protection model.
325                 The ForwadingConstruct can be considered as a component and the EndPoint as a Port on that component";
326         }
327         grouping route-g {
328             list connection-end-point {
329                 uses connection-end-point-ref-g;
330                 key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
331                 config false;
332                 min-elements 2;
333                 description "none";
334             }
335             uses tapi-common:local-class-g;
336             description "The FC Route (FcRoute) object class models the individual routes of an FC.
337                 The route of an FC object is represented by a list of FCs at a lower level.
338                 Note that depending on the service supported by an FC, an the FC can have multiple routes.";
339         }
340         grouping connectivity-context-g {
341             list connectivity-service {
342                 key 'uuid';
343                 uses connectivity-service-g;
344                 description "none";
345             }
346             list connection {
347                 key 'uuid';
348                 config false;
349                 uses connection-g;
350                 description "none";
351             }
352             description "none";
353         }
354         grouping switch-g {
355             list selected-connection-end-point {
356                 uses connection-end-point-ref-g;
357                 key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
358                 min-elements 1;
359                 description "none";
360             }
361             list selected-route {
362                 uses route-ref-g;
363                 key 'connection-uuid route-local-id';
364                 min-elements 1;
365                 description "none";
366             }
367             leaf selection-control {
368                 type selection-control;
369                 description "Degree of administrative control applied to the switch selection.";
370             }
371             leaf selection-reason {
372                 type selection-reason;
373                 config false;
374                 description "The reason for the current switch selection.";
375             }
376             leaf switch-direction {
377                 type tapi-common:port-direction;
378                 description "Indicates whether the switch selects from ingress to the FC or to egress of the FC, or both.";
379             }
380             uses tapi-common:local-class-g;
381             description "The class models the switched forwarding of traffic (traffic flow) between FcPorts (ConnectionEndPoints) and is present where there is protection functionality in the FC (Connection).
382                 If an FC exposes protection (having two or more FcPorts that provide alternative identical inputs/outputs), the FC will have one or more associated FcSwitch objects to represent the alternative flow choices visible at the edge of the FC.
383                 The FC switch represents and defines a protection switch structure encapsulated in the FC.
384                 Essentially performs one of the functions of the Protection Group in a traditional model. It associates to 2 or more FcPorts each playing the role of a Protection Unit.
385                 One or more protection, i.e. standby/backup, FcPorts provide protection for one or more working (i.e. regular/main/preferred) FcPorts where either protection or working can feed one or more protected FcPort.
386                 The switch may be used in revertive or non-revertive (symmetric) mode. When in revertive mode it may define a waitToRestore time.
387                 It may be used in one of several modes including source switch, destination switched, source and destination switched etc (covering cases such as 1+1 and 1:1).
388                 It may be locked out (prevented from switching), force switched or manual switched.
389                 It will indicate switch state and change of state.
390                 The switch can be switched away from all sources such that it becomes open and hence two coordinated switches can both feed the same LTP so long as at least one of the two is switched away from all sources (is 'open').
391                 The ability for a Switch to be 'high impedance' allows bidirectional ForwardingConstructs to be overlaid on the same bidirectional LTP where the appropriate control is enabled to prevent signal conflict.
392                 This ability allows multiple alternate routes to be present that otherwise would be in conflict.";
393         }
394         grouping switch-control-g {
395             list sub-switch-control {
396                 uses switch-control-ref-g;
397                 key 'connection-uuid switch-control-uuid';
398                 description "none";
399             }
400             list switch {
401                 key 'local-id';
402                 uses switch-g;
403                 description "none";
404             }
405             uses tapi-common:resource-spec-g;
406             uses resilience-constraint-g;
407             description "Represents the capability to control and coordinate switches, to add/delete/modify FCs and to add/delete/modify LTPs/LPs so as to realize a protection scheme.";
408         }
409         grouping resilience-constraint-g {
410             container resilience-type {
411                 uses tapi-topology:resilience-type-g;
412                 description "none";
413             }
414             leaf restoration-coordinate-type {
415                 type coordinate-type;
416                 description " The coordination mechanism between multi-layers.";
417             }
418             leaf restore-priority {
419                 type uint64;
420                 description "none";
421             }
422             leaf reversion-mode {
423                 type reversion-mode;
424                 description "Indcates whether the protection scheme is revertive or non-revertive.";
425             }
426             leaf wait-to-revert-time {
427                 type uint64;
428                 default "15";
429                 description "If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource.";
430             }
431             leaf hold-off-time {
432                 type uint64;
433                 description "This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm.";
434             }
435             leaf is-lock-out {
436                 type boolean;
437                 description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
438                     This overrides all other protection control states including forced.
439                     If the item is locked out then it cannot be used under any circumstances.
440                     Note: Only relevant when part of a protection scheme.";
441             }
442             leaf is-frozen {
443                 type boolean;
444                 description "Temporarily prevents any switch action to be taken and, as such, freezes the current state.
445                     Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored.
446                     All administrative controls of any aspect of protection are rejected.";
447             }
448             leaf is-coordinated-switching-both-ends {
449                 type boolean;
450                 description "Is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends.";
451             }
452             leaf max-switch-times {
453                 type uint64;
454                 description "Used to limit the maximum swtich times. When work fault disappears , and traffic return to the original work path, switch counter reset.";
455             }
456             leaf-list preferred-restoration-layer {
457                 type tapi-common:layer-protocol-name;
458                 description "Indicate which layer this resilience parameters package configured for.";
459             }
460             description "A list of control parameters to apply to a switch.";
461         }
462         grouping cep-list-g {
463             list connection-end-point {
464                 key 'uuid';
465                 uses connection-end-point-g;
466                 description "none";
467             }
468             description "none";
469         }
470
471     /***********************
472     * package type-definitions
473     **********************/
474         typedef service-type {
475             type enumeration {
476                 enum POINT_TO_POINT_CONNECTIVITY {
477                     description "none";
478                 }
479                 enum POINT_TO_MULTIPOINT_CONNECTIVITY {
480                     description "none";
481                 }
482                 enum MULTIPOINT_CONNECTIVITY {
483                     description "none";
484                 }
485                 enum ROOTED_MULTIPOINT_CONNECTIVITY {
486                     description "none";
487                 }
488             }
489             description "none";
490         }
491         typedef reversion-mode {
492             type enumeration {
493                 enum REVERTIVE {
494                     description "An FC switched to a lower priority (non-preferred) resource will revert to a higher priority (preferred) resource when that recovers (potentially after some hold-off time).";
495                 }
496                 enum NON-REVERTIVE {
497                     description "An FC switched to a lower priority (non-preferred) resource will not revert to a higher priority (preferred) resource when that recovers.";
498                 }
499             }
500             description "The reversion mode associated with protection.";
501         }
502         typedef selection-control {
503             type enumeration {
504                 enum LOCK_OUT {
505                     description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
506                         This overrides all other protection control states including forced.
507                         If the item is locked out then it cannot be used under any circumstances.
508                         Note: Only relevant when part of a protection scheme.";
509                 }
510                 enum NORMAL {
511                     description "none";
512                 }
513                 enum MANUAL {
514                     description "none";
515                 }
516                 enum FORCED {
517                     description "none";
518                 }
519             }
520             description "Possible degrees of administrative control applied to the Route selection.";
521         }
522         typedef selection-reason {
523             type enumeration {
524                 enum LOCKOUT {
525                     description "none";
526                 }
527                 enum NORMAL {
528                     description "none";
529                 }
530                 enum MANUAL {
531                     description "none";
532                 }
533                 enum FORCED {
534                     description "none";
535                 }
536                 enum WAIT_TO_REVERT {
537                     description "none";
538                 }
539                 enum SIGNAL_DEGRADE {
540                     description "none";
541                 }
542                 enum SIGNAL_FAIL {
543                     description "none";
544                 }
545             }
546             description "The cause of the current route selection.";
547         }
548         typedef coordinate-type {
549             type enumeration {
550                 enum NO_COORDINATE {
551                     description "none";
552                 }
553                 enum HOLD_OFF_TIME {
554                     description "none";
555                 }
556                 enum WAIT_FOR_NOTIFICATION {
557                     description "none";
558                 }
559             }
560             description "none";
561         }
562         typedef protection-role {
563             type enumeration {
564                 enum WORK {
565                     description "none";
566                 }
567                 enum PROTECT {
568                     description "none";
569                 }
570                 enum PROTECTED {
571                     description "none";
572                 }
573                 enum NA {
574                     description "none";
575                 }
576                 enum WORK_RESTORE {
577                     description "none";
578                 }
579                 enum PROTECT_RESTORE {
580                     description "none";
581                 }
582             }
583             description "none";
584         }
585
586     /***********************
587     * package interfaces
588     **********************/
589         rpc get-connection-details {
590             description "none";
591             input {
592                 leaf service-id-or-name {
593                     type string;
594                     description "none";
595                 }
596                 leaf connection-id-or-name {
597                     type string;
598                     description "none";
599                 }
600             }
601             output {
602                 container connection {
603                     uses connection-g;
604                     description "none";
605                 }
606             }
607         }
608         rpc get-connectivity-service-list {
609             description "none";
610             output {
611                 list service {
612                     uses connectivity-service-g;
613                     description "none";
614                 }
615             }
616         }
617         rpc get-connectivity-service-details {
618             description "none";
619             input {
620                 leaf service-id-or-name {
621                     type string;
622                     description "none";
623                 }
624             }
625             output {
626                 container service {
627                     uses connectivity-service-g;
628                     description "none";
629                 }
630             }
631         }
632         rpc create-connectivity-service {
633             description "none";
634             input {
635                 list end-point {
636                     key 'local-id';
637                     min-elements 2;
638                     uses connectivity-service-end-point-g;
639                     description "none";
640                 }
641                 container connectivity-constraint {
642                     uses connectivity-constraint-g;
643                     description "none";
644                 }
645                 container routing-constraint {
646                     uses tapi-path-computation:routing-constraint-g;
647                     description "none";
648                 }
649                 container topology-constraint {
650                     uses tapi-path-computation:topology-constraint-g;
651                     description "none";
652                 }
653                 list resilience-constraint {
654                     uses resilience-constraint-g;
655                     description "none";
656                 }
657                 leaf state {
658                     type string;
659                     description "none";
660                 }
661             }
662             output {
663                 container service {
664                     uses connectivity-service-g;
665                     description "none";
666                 }
667             }
668         }
669         rpc update-connectivity-service {
670             description "none";
671             input {
672                 leaf service-id-or-name {
673                     type string;
674                     description "none";
675                 }
676                 container end-point {
677                     uses connectivity-service-end-point-g;
678                     description "none";
679                 }
680                 container connectivity-constraint {
681                     uses connectivity-constraint-g;
682                     description "none";
683                 }
684                 container routing-constraint {
685                     uses tapi-path-computation:routing-constraint-g;
686                     description "none";
687                 }
688                 container topology-constraint {
689                     uses tapi-path-computation:topology-constraint-g;
690                     description "none";
691                 }
692                 list resilience-constraint {
693                     uses resilience-constraint-g;
694                     description "none";
695                 }
696                 leaf state {
697                     type string;
698                     description "none";
699                 }
700             }
701             output {
702                 container service {
703                     uses connectivity-service-g;
704                     description "none";
705                 }
706             }
707         }
708         rpc delete-connectivity-service {
709             description "none";
710             input {
711                 leaf service-id-or-name {
712                     type string;
713                     description "none";
714                 }
715             }
716         }
717
718 }