TAPI topology creation for 100GE Transponder
[transportpce.git] / tapimodels / src / main / yang / tapi-oam@2018-12-10.yang
1 module tapi-oam {\r
2     namespace "urn:onf:otcc:yang:tapi-oam";\r
3     prefix tapi-oam;\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://wiki.opennetworking.org/display/OTCC/TAPI>\r
16          Project List: <mailto:transport-api@opennetworking.org>\r
17          Editor: Karthik Sethuraman\r
18                  <mailto:karthik.sethuraman@necam.com>";\r
19     description "\r
20         This module contains TAPI OAM Model definitions.\r
21         Source: TapiOam.uml\r
22         - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.\r
23         - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]\r
24           <https://github.com/OpenNetworkingFoundation/EagleUmlYang>\r
25           and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]\r
26           <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines>\r
27         - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.\r
28           As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.\r
29         - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.\r
30           The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>.\r
31           YANG models included in this release may not be backward compatible with previous TAPI releases.\r
32         Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
33         License: This module is distributed under the Apache License 2.0";\r
34     revision 2018-12-10 {\r
35         description "ONF Transport API version 2.1.1.\r
36                    Changes included in this TAPI release (v2.1.1) are listed in\r
37                    <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.1.md>";\r
38         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
39                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
40     }\r
41     revision 2018-10-16 {\r
42         description "ONF Transport API version 2.1.0.\r
43                    Changes included in this TAPI release (v2.1.0) are listed in\r
44                    <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
45         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
46                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
47     }\r
48     revision 2018-03-07 {\r
49         description "ONF Transport API version 2.0.2\r
50         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
51         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
52         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
53                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
54     }\r
55     revision 2018-02-16 {\r
56         description "ONF Transport API version 2.0.1\r
57         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
58         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
59         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
60                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
61     }\r
62     revision 2018-01-02 {\r
63         description "ONF Transport API version 2.0.0\r
64         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
65         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
66         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
67                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
68     }\r
69     augment "/tapi-common:context" {\r
70         container oam-context {\r
71             uses oam-context;\r
72             description "Augments the base TAPI Context with OamService information";\r
73         }\r
74         description "Augments the base TAPI Context with OamService information";\r
75     }\r
76     augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" {\r
77         container mep-mip-list {\r
78             uses mep-mip-list;\r
79             description "none";\r
80         }\r
81         description "none";\r
82     }\r
83 \r
84    /**************************\r
85     * definitions of references\r
86     **************************/\r
87     grouping oam-service-ref {\r
88         leaf oam-service-uuid {\r
89             type leafref {\r
90                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:uuid';\r
91             }\r
92             description "none";\r
93         }\r
94         description "none";\r
95     }\r
96     grouping oam-service-end-point-ref {\r
97         uses oam-service-ref;\r
98         leaf oam-service-end-point-local-id {\r
99             type leafref {\r
100                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';\r
101             }\r
102             description "none";\r
103         }\r
104         description "none";\r
105     }\r
106     grouping meg-ref {\r
107         leaf meg-uuid {\r
108             type leafref {\r
109                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:uuid';\r
110             }\r
111             description "none";\r
112         }\r
113         description "none";\r
114     }\r
115     grouping maintenance-entity-ref {\r
116         uses meg-ref;\r
117         leaf maintenance-entity-local-id {\r
118             type leafref {\r
119                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';\r
120             }\r
121             description "none";\r
122         }\r
123         description "none";\r
124     }\r
125     grouping mep-ref {\r
126         uses meg-ref;\r
127         leaf mep-local-id {\r
128             type leafref {\r
129                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';\r
130             }\r
131             description "none";\r
132         }\r
133         description "none";\r
134     }\r
135     grouping mip-ref {\r
136         uses meg-ref;\r
137         leaf mip-local-id {\r
138             type leafref {\r
139                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';\r
140             }\r
141             description "none";\r
142         }\r
143         description "none";\r
144     }\r
145     grouping oam-job-ref {\r
146         leaf oam-job-uuid {\r
147             type leafref {\r
148                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:uuid';\r
149             }\r
150             description "none";\r
151         }\r
152         description "none";\r
153     }\r
154     grouping pm-current-data-ref {\r
155         uses oam-job-ref;\r
156         leaf pm-current-data-local-id {\r
157             type leafref {\r
158                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:local-id';\r
159             }\r
160             description "none";\r
161         }\r
162         description "none";\r
163     }\r
164     grouping pm-history-data-ref {\r
165         uses pm-current-data-ref;\r
166         leaf pm-history-data-local-id {\r
167             type leafref {\r
168                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data/tapi-oam:local-id';\r
169             }\r
170             description "none";\r
171         }\r
172         description "none";\r
173     }\r
174     grouping oam-profile-ref {\r
175         leaf oam-profile-uuid {\r
176             type leafref {\r
177                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:uuid';\r
178             }\r
179             description "none";\r
180         }\r
181         description "none";\r
182     }\r
183     grouping pm-threshold-data-ref {\r
184         uses oam-profile-ref;\r
185         leaf pm-threshold-data-local-id {\r
186             type leafref {\r
187                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data/tapi-oam:local-id';\r
188             }\r
189             description "none";\r
190         }\r
191         description "none";\r
192     }\r
193     grouping pm-bin-data-ref {\r
194         uses oam-profile-ref;\r
195         leaf pm-bin-data-local-id {\r
196             type leafref {\r
197                 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-bin-data/tapi-oam:local-id';\r
198             }\r
199             description "none";\r
200         }\r
201         description "none";\r
202     }\r
203 \r
204    /**************************\r
205     * package object-classes\r
206     **************************/\r
207     grouping mep {\r
208         leaf layer-protocol-name {\r
209             type tapi-common:layer-protocol-name;\r
210             config false;\r
211             description "none";\r
212         }\r
213         leaf direction {\r
214             type tapi-common:termination-direction;\r
215             config false;\r
216             description "none";\r
217         }\r
218         leaf mep-identifier {\r
219             type string;\r
220             config false;\r
221             description "none";\r
222         }\r
223         leaf-list peer-mep-identifier {\r
224             type string;\r
225             config false;\r
226             min-elements 1;\r
227             description "none";\r
228         }\r
229         uses tapi-common:local-class;\r
230         uses tapi-common:operational-state-pac;\r
231         description "none";\r
232     }\r
233     grouping oam-job {\r
234         list oam-service-end-point {\r
235             uses oam-service-end-point-ref;\r
236             key 'oam-service-uuid oam-service-end-point-local-id';\r
237             min-elements 1;\r
238             description "none";\r
239         }\r
240         container oam-profile {\r
241             uses oam-profile-ref;\r
242             description "none";\r
243         }\r
244         list pm-current-data {\r
245             key 'local-id';\r
246             config false;\r
247             uses pm-current-data;\r
248             description "Granularity period of the CurrentData identifies the specific CurrentData instance in the scope of this OamJob.\r
249                 For example, typically at least\r
250                 one 15min and\r
251                 one 24hr;\r
252                 optionally one additional configurable (< 15min)";\r
253         }\r
254         leaf oam-job-type {\r
255             type oam-job-type;\r
256             description "none";\r
257         }\r
258         container schedule {\r
259             uses tapi-common:time-range;\r
260             description "none";\r
261         }\r
262         leaf creation-time {\r
263             type tapi-common:date-and-time;\r
264             config false;\r
265             description "none";\r
266         }\r
267         uses tapi-common:global-class;\r
268         uses tapi-common:admin-state-pac;\r
269         description "none";\r
270     }\r
271     grouping meg {\r
272         list mep {\r
273             key 'local-id';\r
274             config false;\r
275             uses mep;\r
276             description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)\r
277                 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)\r
278                 3. ME may have 2 MEPs";\r
279         }\r
280         list mip {\r
281             key 'local-id';\r
282             config false;\r
283             uses mip;\r
284             description "ME may 0, 1, or more MIPs";\r
285         }\r
286         leaf layer-protocol-name {\r
287             type tapi-common:layer-protocol-name;\r
288             config false;\r
289             description "none";\r
290         }\r
291         leaf direction {\r
292             type tapi-common:forwarding-direction;\r
293             config false;\r
294             description "none";\r
295         }\r
296         leaf meg-level {\r
297             type uint64;\r
298             config false;\r
299             description "none";\r
300         }\r
301         leaf meg-identifier {\r
302             type string;\r
303             config false;\r
304             description "none";\r
305         }\r
306         uses tapi-common:resource-spec;\r
307         uses tapi-common:operational-state-pac;\r
308         description "none";\r
309     }\r
310     grouping mip {\r
311         leaf layer-protocol-name {\r
312             type tapi-common:layer-protocol-name;\r
313             config false;\r
314             description "none";\r
315         }\r
316         uses tapi-common:local-class;\r
317         description "none";\r
318     }\r
319     grouping oam-service {\r
320         list end-point {\r
321             key 'local-id';\r
322             min-elements 2;\r
323             uses oam-service-end-point;\r
324             description "none";\r
325         }\r
326         container meg {\r
327             uses meg-ref;\r
328             config false;\r
329             description "none";\r
330         }\r
331         container oam-profile {\r
332             uses oam-profile-ref;\r
333             description "none";\r
334         }\r
335         uses tapi-common:service-spec;\r
336         uses tapi-common:admin-state-pac;\r
337         uses oam-constraint;\r
338         description "none";\r
339     }\r
340     grouping oam-context {\r
341         list oam-service {\r
342             key 'uuid';\r
343             uses oam-service;\r
344             description "none";\r
345         }\r
346         list meg {\r
347             key 'uuid';\r
348             config false;\r
349             uses meg;\r
350             description "none";\r
351         }\r
352         list oam-job {\r
353             key 'uuid';\r
354             uses oam-job;\r
355             description "none";\r
356         }\r
357         list oam-profile {\r
358             key 'uuid';\r
359             uses oam-profile;\r
360             description "none";\r
361         }\r
362         description "none";\r
363     }\r
364     grouping oam-service-end-point {\r
365         container service-interface-point {\r
366             uses tapi-common:service-interface-point-ref;\r
367             description "none";\r
368         }\r
369         container connectivity-service-end-point {\r
370             uses tapi-connectivity:connectivity-service-end-point-ref;\r
371             description "none";\r
372         }\r
373         container mep {\r
374             uses mep-ref;\r
375             config false;\r
376             description "none";\r
377         }\r
378         container mip {\r
379             uses mip-ref;\r
380             config false;\r
381             description "none";\r
382         }\r
383         leaf layer-protocol-name {\r
384             type tapi-common:layer-protocol-name;\r
385             description "none";\r
386         }\r
387         leaf direction {\r
388             type tapi-common:port-direction;\r
389             description "none";\r
390         }\r
391         leaf mep-identifier {\r
392             type string;\r
393             description "This attribute contains the identifier of the MEP.\r
394                 This attribute is empty in case the OSEP relates to the provisioing of an MIP.\r
395                 ";\r
396         }\r
397         leaf-list peer-mep-identifier {\r
398             type string;\r
399             description "This attribute models the MI_PeerMEP_ID[i] defined in G.8021 and configured as specified in G.8051. It provides the identifiers of the MEPs which are peer to the subject MEP.\r
400                 This attribute is not specified in case the OSEP relates to the provisioing of an MIP.\r
401                 In case of P2P, there is only one peer";\r
402         }\r
403         uses tapi-common:local-class;\r
404         uses tapi-common:admin-state-pac;\r
405         description "none";\r
406     }\r
407     grouping mep-mip-list {\r
408         list mip {\r
409             uses mip-ref;\r
410             key 'meg-uuid mip-local-id';\r
411             description "none";\r
412         }\r
413         list mep {\r
414             uses mep-ref;\r
415             key 'meg-uuid mep-local-id';\r
416             description "none";\r
417         }\r
418         description "none";\r
419     }\r
420     grouping oam-constraint {\r
421         leaf layer-protocol-name {\r
422             type tapi-common:layer-protocol-name;\r
423             description "none";\r
424         }\r
425         leaf direction {\r
426             type tapi-common:forwarding-direction;\r
427             description "none";\r
428         }\r
429         leaf meg-level {\r
430             type uint64;\r
431             description "none";\r
432         }\r
433         description "none";\r
434     }\r
435     grouping pm-current-data {\r
436         list pm-history-data {\r
437             key 'local-id';\r
438             config false;\r
439             uses pm-history-data;\r
440             description "in case of 24hr Current Data, at least 1 History Data.\r
441                 In case of 15min Current Data, at least 16 History Data.\r
442                 In case of <15min, the number of History Data shall be able to cover a span of 4 hours.";\r
443         }\r
444         container granularity-period {\r
445             uses tapi-common:time-period;\r
446             description "none";\r
447         }\r
448         leaf timestamp {\r
449             type tapi-common:date-and-time;\r
450             config false;\r
451             description "This attribute indicates the start of the current monitoring interval.\r
452                 The value is bound to the quarter of an hour in case of a 15 minute interval and bound to the hour in case of a 24 hour interval.";\r
453         }\r
454         container elapsed-time {\r
455             uses tapi-common:time-interval;\r
456             description "none";\r
457         }\r
458         leaf suspect-interval-flag {\r
459             type boolean;\r
460             description "This attribute is used to indicate that the performance data for the current period may not be reliable. Some reasons for this to occur are:\r
461                 â€“ Suspect data were detected by the actual resource doing data collection.\r
462                 â€“ Transition of the administrativeState attribute to/from the 'lock' state.\r
463                 â€“ Transition of the operationalState to/from the 'disabled' state.\r
464                 â€“ Scheduler setting that inhibits the collection function.\r
465                 â€“ The performance counters were reset during the interval.\r
466                 â€“ The currentData (or subclass) object instance was created during the monitoring period.";\r
467         }\r
468         uses tapi-common:local-class;\r
469         description "none";\r
470     }\r
471     grouping pm-history-data {\r
472         container granularity-period {\r
473             uses tapi-common:time-period;\r
474             description "none";\r
475         }\r
476         leaf period-end-time {\r
477             type tapi-common:date-and-time;\r
478             description "none";\r
479         }\r
480         leaf suspect-interval-flag {\r
481             type boolean;\r
482             config false;\r
483             description "This attribute indicates that the performance data may not be reliable.";\r
484         }\r
485         uses tapi-common:local-class;\r
486         description "none";\r
487     }\r
488     grouping oam-profile {\r
489         list pm-threshold-data {\r
490             key 'local-id';\r
491             min-elements 1;\r
492             uses pm-threshold-data;\r
493             description "none";\r
494         }\r
495         list pm-bin-data {\r
496             key 'local-id';\r
497             min-elements 1;\r
498             uses pm-bin-data;\r
499             description "none";\r
500         }\r
501         uses tapi-common:global-class;\r
502         description "none";\r
503     }\r
504     grouping pm-threshold-data {\r
505         container granularity-period {\r
506             uses tapi-common:time-period;\r
507             description "none";\r
508         }\r
509         leaf is-transient {\r
510             type boolean;\r
511             description "none";\r
512         }\r
513         uses tapi-common:local-class;\r
514         description "none";\r
515     }\r
516     grouping pm-bin-data {\r
517         container granularity-period {\r
518             uses tapi-common:time-period;\r
519             description "none";\r
520         }\r
521         uses tapi-common:local-class;\r
522         description "none";\r
523     }\r
524 \r
525    /**************************\r
526     * package type-definitions\r
527     **************************/\r
528     identity OAM_JOB_TYPE {\r
529         description "none";\r
530     }\r
531     typedef oam-job-type {\r
532         type identityref {\r
533             base OAM_JOB_TYPE;\r
534         }\r
535         description "none";\r
536     }\r
537 \r
538    /**************************\r
539     * package interfaces\r
540     **************************/\r
541     rpc create-oam-service {\r
542         description "none";\r
543         input {\r
544             list end-point {\r
545                 key 'local-id';\r
546                 min-elements 2;\r
547                 uses oam-service-end-point;\r
548                 description "none";\r
549             }\r
550             container oam-constraint {\r
551                 uses oam-constraint;\r
552                 description "none";\r
553             }\r
554             leaf state {\r
555                 type string;\r
556                 description "none";\r
557             }\r
558         }\r
559         output {\r
560             container service {\r
561                 uses oam-service;\r
562                 description "none";\r
563             }\r
564         }\r
565     }\r
566     rpc delete-oam-service {\r
567         description "none";\r
568         input {\r
569             leaf service-id {\r
570                 type string;\r
571                 description "none";\r
572             }\r
573         }\r
574     }\r
575     rpc get-oam-service {\r
576         description "none";\r
577         input {\r
578             leaf service-id {\r
579                 type string;\r
580                 description "none";\r
581             }\r
582         }\r
583         output {\r
584             container service {\r
585                 uses oam-service;\r
586                 description "none";\r
587             }\r
588         }\r
589     }\r
590     rpc create-oam-job {\r
591         description "none";\r
592         input {\r
593             leaf oam-job-type {\r
594                 type oam-job-type;\r
595                 description "none";\r
596             }\r
597             list oam-service-end-point {\r
598                 key 'local-id';\r
599                 min-elements 2;\r
600                 uses oam-service-end-point;\r
601                 description "none";\r
602             }\r
603             container oam-profile {\r
604                 uses oam-profile;\r
605                 description "none";\r
606             }\r
607             leaf state {\r
608                 type string;\r
609                 description "none";\r
610             }\r
611             leaf schedule {\r
612                 type string;\r
613                 description "none";\r
614             }\r
615         }\r
616         output {\r
617             container oam-job {\r
618                 uses oam-job;\r
619                 description "none";\r
620             }\r
621         }\r
622     }\r
623     rpc get-oam-job {\r
624         description "none";\r
625         input {\r
626             leaf job-id {\r
627                 type string;\r
628                 description "none";\r
629             }\r
630         }\r
631         output {\r
632             container oam-job {\r
633                 uses oam-job;\r
634                 description "none";\r
635             }\r
636         }\r
637     }\r
638     rpc get-oam-service-list {\r
639         description "none";\r
640         output {\r
641             list service {\r
642                 key 'uuid';\r
643                 uses oam-service;\r
644                 description "none";\r
645             }\r
646         }\r
647     }\r
648     rpc get-meg {\r
649         description "none";\r
650         input {\r
651             leaf service-id {\r
652                 type string;\r
653                 description "none";\r
654             }\r
655         }\r
656         output {\r
657             container meg {\r
658                 uses meg;\r
659                 description "none";\r
660             }\r
661         }\r
662     }\r
663     rpc update-oam-service {\r
664         description "none";\r
665         input {\r
666             leaf service-id {\r
667                 type string;\r
668                 description "none";\r
669             }\r
670             list end-point {\r
671                 key 'local-id';\r
672                 uses oam-service-end-point;\r
673                 description "none";\r
674             }\r
675             container oam-constraint {\r
676                 uses oam-constraint;\r
677                 description "none";\r
678             }\r
679             leaf state {\r
680                 type string;\r
681                 description "none";\r
682             }\r
683         }\r
684         output {\r
685             container service {\r
686                 uses oam-service;\r
687                 description "none";\r
688             }\r
689         }\r
690     }\r
691     rpc delete-oam-job {\r
692         description "none";\r
693         input {\r
694             leaf job-id {\r
695                 type string;\r
696                 description "none";\r
697             }\r
698         }\r
699     }\r
700     rpc update-oam-job {\r
701         description "none";\r
702         input {\r
703             leaf job-id {\r
704                 type string;\r
705                 description "none";\r
706             }\r
707             container oam-profile {\r
708                 uses oam-profile;\r
709                 description "none";\r
710             }\r
711             leaf state {\r
712                 type string;\r
713                 description "none";\r
714             }\r
715             leaf schedule {\r
716                 type string;\r
717                 description "none";\r
718             }\r
719         }\r
720         output {\r
721             container oam-job {\r
722                 uses oam-job;\r
723                 description "none";\r
724             }\r
725         }\r
726     }\r
727     rpc create-oam-service-end-point {\r
728         description "none";\r
729         input {\r
730             leaf service-id {\r
731                 type string;\r
732                 description "none";\r
733             }\r
734             leaf sip-id {\r
735                 type string;\r
736                 description "none";\r
737             }\r
738             leaf c-sep-id {\r
739                 type string;\r
740                 description "none";\r
741             }\r
742             leaf layer {\r
743                 type string;\r
744                 description "none";\r
745             }\r
746             leaf direction {\r
747                 type string;\r
748                 description "none";\r
749             }\r
750             leaf state {\r
751                 type string;\r
752                 description "none";\r
753             }\r
754             leaf mep-identifier {\r
755                 type string;\r
756                 description "none";\r
757             }\r
758             leaf-list peer-mep-identifier {\r
759                 type string;\r
760                 description "none";\r
761             }\r
762         }\r
763         output {\r
764             container end-point {\r
765                 uses oam-service-end-point;\r
766                 description "none";\r
767             }\r
768         }\r
769     }\r
770     rpc delete-oam-service-end-point {\r
771         description "none";\r
772         input {\r
773             leaf service-id {\r
774                 type string;\r
775                 description "none";\r
776             }\r
777             leaf o-sep-id {\r
778                 type string;\r
779                 description "none";\r
780             }\r
781         }\r
782     }\r
783     rpc update-oam-service-end-point {\r
784         description "none";\r
785         input {\r
786             leaf service-id {\r
787                 type string;\r
788                 description "none";\r
789             }\r
790             leaf o-sep-id {\r
791                 type string;\r
792                 description "none";\r
793             }\r
794             leaf state {\r
795                 type string;\r
796                 description "none";\r
797             }\r
798         }\r
799         output {\r
800             container end-point {\r
801                 uses oam-service-end-point;\r
802                 description "none";\r
803             }\r
804         }\r
805     }\r
806     rpc get-oam-service-end-point {\r
807         description "none";\r
808         input {\r
809             leaf service-id {\r
810                 type string;\r
811                 description "none";\r
812             }\r
813             leaf o-sep-id {\r
814                 type string;\r
815                 description "none";\r
816             }\r
817         }\r
818         output {\r
819             container end-point {\r
820                 uses oam-service-end-point;\r
821                 description "none";\r
822             }\r
823         }\r
824     }\r
825 }\r