blob: f888fa6c237cb7766f06c75d62c1a0e450b5e444 [file] [log] [blame]
Toru Furusawa28988892017-10-30 17:28:40 -07001module tapi-oam {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -08002 namespace "urn:onf:otcc:yang:tapi-oam";
Toru Furusawa28988892017-10-30 17:28:40 -07003 prefix tapi-oam;
4 import tapi-common {
5 prefix tapi-common;
6 }
7 import tapi-connectivity {
8 prefix tapi-connectivity;
9 }
10 import tapi-topology {
11 prefix tapi-topology;
12 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080013 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 OAM Model definitions.
21 Source: TapiOam.uml
22 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
23 License: This module is distributed under the Apache License 2.0";
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070024 revision 2018-03-07 {
25 description "ONF Transport API version 2.0.2
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080026 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
27 <https://wiki.opennetworking.org/display/OIMT/IISOMI>
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070028 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/change-log.md>";
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080029 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070030 <https://github.com/OpenNetworkingFoundation/TAPI/tree/develop/UML>";
Toru Furusawa28988892017-10-30 17:28:40 -070031 }
32 augment "/tapi-common:context" {
33 uses oam-context;
34 description "Augments the base TAPI Context with OamService information";
35 }
36 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
37 uses mep-mip-list;
38 description "none";
39 }
40 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
41 uses mep-mip-list;
42 description "none";
43 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070044
45 /*************************
46 * definitions of references
47 *************************/
48 grouping oam-service-ref {
49 leaf oam-service-id {
50 type leafref {
51 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:uuid';
52 }
53 description "none";
54 }
55 description "none";
56 }
57
58 grouping oam-service-end-point-ref {
59 uses oam-service-ref;
60 leaf oam-service-end-point-id {
61 type leafref {
62 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';
63 }
64 description "none";
65 }
66 description "none";
67 }
68 grouping meg-ref {
69 leaf meg-id {
70 type leafref {
71 path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';
72 }
73 description "none";
74 }
75 description "none";
76 }
77
78 grouping mep-ref {
79 uses meg-ref;
80 leaf mep-id {
81 type leafref {
82 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
83 }
84 description "none";
85 }
86 description "none";
87 }
88
89 grouping mip-ref {
90 uses meg-ref;
91 leaf mip-id {
92 type leafref {
93 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
94 }
95 description "none";
96 }
97 description "none";
98 }
99
100 grouping me-ref {
101 uses meg-ref;
102 leaf me-id {
103 type leafref {
104 path '/tapi-common:context/tapi-oam:meg/tapi-oam:me/tapi-oam:local-id';
105 }
106 description "none";
107 }
108 description "none";
109 }
110
Toru Furusawa28988892017-10-30 17:28:40 -0700111 /***********************
112 * package object-classes
113 **********************/
114 grouping mep {
115 leaf-list on-demand-measurement-job {
116 type leafref {
117 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:on-demand-measurement-job/tapi-oam:local-id';
118 }
119 config false;
120 description "none";
121 }
122 leaf-list pro-active-measurement-job {
123 type leafref {
124 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:pro-active-measurement-job/tapi-oam:local-id';
125 }
126 config false;
127 description "none";
128 }
129 leaf layer-protocol-name {
130 type tapi-common:layer-protocol-name;
131 config false;
132 description "none";
133 }
134 leaf meg-identifier {
135 type string;
136 config false;
137 description "none";
138 }
139 leaf mep-identifier {
140 type string;
141 config false;
142 description "none";
143 }
144 leaf-list peer-mep-identifier {
145 type string;
146 config false;
147 min-elements 1;
148 description "none";
149 }
150 leaf monitored-direction {
151 type tapi-common:termination-direction;
152 description "none";
153 }
154 uses tapi-common:local-class;
155 description "none";
156 }
157 grouping on-demand-measurement-job {
Toru Furusawa28988892017-10-30 17:28:40 -0700158 uses tapi-common:local-class;
wu6a418d22018-02-02 01:49:21 -0500159 uses tapi-common:admin-state-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700160 description "none";
161 }
162 grouping pro-active-measurement-job {
Toru Furusawa28988892017-10-30 17:28:40 -0700163 uses tapi-common:local-class;
wu6a418d22018-02-02 01:49:21 -0500164 uses tapi-common:admin-state-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700165 description "none";
166 }
167 grouping meg {
168 list me {
169 key 'local-id';
170 config false;
171 min-elements 1;
172 uses me;
173 description "none";
174 }
175 list mep {
176 key 'local-id';
177 config false;
178 uses mep;
179 description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
180 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
181 3. ME may have 2 MEPs";
182 }
183 list mip {
184 key 'local-id';
185 config false;
186 uses mip;
187 description "ME may 0, 1, or more MIPs";
188 }
189 leaf meg-level {
190 type uint64;
191 config false;
192 description "none";
193 }
194 uses tapi-common:resource-spec;
195 description "none";
196 }
197 grouping me {
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700198 list mep {
199 uses mep-ref;
200 key 'meg-id mep-id';
Toru Furusawa28988892017-10-30 17:28:40 -0700201 config false;
202 max-elements 2;
203 description "none";
204 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700205 list mip {
206 uses mip-ref;
207 key 'meg-id mip-id';
Toru Furusawa28988892017-10-30 17:28:40 -0700208 config false;
209 description "none";
210 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700211 container connection-route {
212 uses tapi-connectivity:route-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700213 config false;
214 description "none";
215 }
216 uses tapi-common:local-class;
217 description "none";
218 }
219 grouping mip {
220 leaf layer-protocol-name {
221 type tapi-common:layer-protocol-name;
222 config false;
223 description "none";
224 }
225 uses tapi-common:local-class;
226 description "none";
227 }
228 grouping oam-service {
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700229 container meg {
230 uses meg-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700231 config false;
232 description "none";
233 }
234 list end-point {
235 key 'local-id';
236 min-elements 1;
237 uses oam-service-end-point;
238 description "none";
239 }
240 uses tapi-common:service-spec;
241 description "none";
242 }
243 grouping oam-context {
244 list oam-service {
245 key 'uuid';
246 uses oam-service;
247 description "none";
248 }
249 list meg {
250 key 'uuid';
251 config false;
252 uses meg;
253 description "none";
254 }
255 description "none";
256 }
257 grouping oam-service-end-point {
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700258 container service-interface-point {
259 uses tapi-common:service-interface-point-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700260 description "none";
261 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700262 container connectivity-service-end-point {
263 uses tapi-connectivity:connectivity-service-end-point-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700264 description "none";
265 }
266 list pro-active-measurement-job {
267 key 'local-id';
268 uses pro-active-measurement-job;
269 description "none";
270 }
271 list on-demand-measurement-job {
272 key 'local-id';
273 uses on-demand-measurement-job;
274 description "none";
275 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700276 container associated-mep {
277 uses mep-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700278 config false;
279 description "none";
280 }
281 leaf direction {
282 type tapi-common:port-direction;
283 config false;
284 description "none";
285 }
286 uses tapi-common:local-class;
287 description "none";
288 }
289 grouping mep-mip-list {
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700290 list mip {
291 uses mip-ref;
292 key 'meg-id mip-id';
Toru Furusawa28988892017-10-30 17:28:40 -0700293 description "none";
294 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700295 list mep {
296 uses mep-ref;
297 key 'meg-id mep-id';
Toru Furusawa28988892017-10-30 17:28:40 -0700298 description "none";
299 }
300 description "none";
301 }
302
303 /***********************
304 * package interfaces
305 **********************/
306 rpc abort-measurement-job {
307 description "none";
308 }
309 rpc disable-pro-active-measurement-job {
310 description "none";
311 }
312 rpc enable-pro-active-measurement-job {
313 description "none";
314 }
315 rpc establish-measurement-job {
316 description "none";
317 }
318 rpc get-contained-measurement-jobs {
319 description "none";
320 }
321 rpc terminate-measurement-job {
322 description "none";
323 }
324 rpc get-all-contained-meg {
325 description "none";
326 }
327
328}