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