blob: e6928def68fc0f2ddd70daae354abc0bc0fcb560 [file] [log] [blame]
Toru Furusawa28988892017-10-30 17:28:40 -07001module tapi-topology {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -08002 namespace "urn:onf:otcc:yang:tapi-topology";
Toru Furusawa28988892017-10-30 17:28:40 -07003 prefix tapi-topology;
4 import tapi-common {
5 prefix tapi-common;
6 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -08007 organization "ONF OTCC (Open Transport Configuration & Control) Project";
8 contact "
9 Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
10 Project List: <mailto:transport-api@opennetworking.org>
11 Editor: Karthik Sethuraman
12 <mailto:karthik.sethuraman@necam.com>";
13 description "
14 This module contains TAPI Topology Model definitions.
15 Source: TapiTopology.uml
16 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
17 License: This module is distributed under the Apache License 2.0";
18 revision 2018-02-16 {
19 description "ONF Transport API version 2.0.1
20 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
21 <https://wiki.opennetworking.org/display/OIMT/IISOMI>
22 Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
23 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
24 <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
Toru Furusawa28988892017-10-30 17:28:40 -070025 }
26 augment "/tapi-common:context" {
27 uses topology-context;
28 description "Augments the base TAPI Context with TopologyService information";
29 }
30 /***********************
31 * package object-classes
32 **********************/
33 grouping link {
34 leaf-list node-edge-point {
35 type leafref {
36 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
37 }
38 config false;
39 min-elements 2;
40 description "none";
41 }
Toru Furusawa28988892017-10-30 17:28:40 -070042 leaf-list layer-protocol-name {
43 type tapi-common:layer-protocol-name;
44 config false;
45 min-elements 1;
46 description "none";
47 }
48 leaf direction {
49 type tapi-common:forwarding-direction;
50 config false;
51 description "The directionality of the Link.
52 Is applicable to simple Links where all LinkEnds are BIDIRECTIONAL (the Link will be BIDIRECTIONAL) or UNIDIRECTIONAL (the Link will be UNIDIRECTIONAL).
53 Is not present in more complex cases.";
54 }
55 container resilience-type {
56 uses resilience-type;
57 description "none";
58 }
59 uses tapi-common:resource-spec;
wu6a418d22018-02-02 01:49:21 -050060 uses tapi-common:admin-state-pac;
61 uses tapi-common:capacity-pac;
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080062 uses transfer-cost-pac;
63 uses transfer-integrity-pac;
64 uses transfer-timing-pac;
65 uses risk-parameter-pac;
66 uses validation-pac;
67 uses layer-protocol-transition-pac;
Toru Furusawa28988892017-10-30 17:28:40 -070068 description "The Link object class models effective adjacency between two or more ForwardingDomains (FD). ";
69 }
70 grouping node {
71 list owned-node-edge-point {
72 key 'uuid';
73 config false;
74 uses node-edge-point;
75 description "none";
76 }
77 leaf-list aggregated-node-edge-point {
78 type leafref {
79 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
80 }
81 config false;
82 description "none";
83 }
84 list node-rule-group {
85 key 'uuid';
86 uses node-rule-group;
87 description "none";
88 }
89 leaf encap-topology {
90 type leafref {
91 path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';
92 }
93 config false;
94 description "none";
95 }
Toru Furusawa28988892017-10-30 17:28:40 -070096 leaf-list layer-protocol-name {
97 type tapi-common:layer-protocol-name;
98 config false;
99 min-elements 1;
100 description "none";
101 }
102 uses tapi-common:resource-spec;
wu6a418d22018-02-02 01:49:21 -0500103 uses tapi-common:admin-state-pac;
104 uses tapi-common:capacity-pac;
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800105 uses transfer-cost-pac;
106 uses transfer-integrity-pac;
107 uses transfer-timing-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700108 description "The ForwardingDomain (FD) object class models the “ForwardingDomain” topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding.
109 At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";
110 }
111 grouping topology {
112 list node {
113 key 'uuid';
114 config false;
115 uses node;
116 description "none";
117 }
118 list link {
119 key 'uuid';
120 config false;
121 uses link;
122 description "none";
123 }
124 leaf-list layer-protocol-name {
125 type tapi-common:layer-protocol-name;
126 config false;
127 min-elements 1;
128 description "none";
129 }
130 uses tapi-common:resource-spec;
131 description "The ForwardingDomain (FD) object class models the “ForwardingDomain” topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding.
132 At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";
133 }
134 grouping layer-protocol-transition-pac {
135 leaf-list transitioned-layer-protocol-name {
136 type string;
137 min-elements 2;
138 description "Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role.";
139 }
140 description "Relevant for a Link that is formed by abstracting one or more LTPs (in a stack) to focus on the flow and deemphasize the protocol transformation.
141 This abstraction is relevant when considering multi-layer routing.
142 The layer protocols of the LTP and the order of their application to the signal is still relevant and need to be accounted for. This is derived from the LTP spec details.
143 This Pac provides the relevant abstractions of the LTPs and provides the necessary association to the LTPs involved.
144 Links that included details in this Pac are often referred to as Transitional Links.";
145 }
146 grouping node-edge-point {
wu6a418d22018-02-02 01:49:21 -0500147 leaf layer-protocol-name {
148 type tapi-common:layer-protocol-name;
Toru Furusawa28988892017-10-30 17:28:40 -0700149 config false;
Toru Furusawa28988892017-10-30 17:28:40 -0700150 description "none";
151 }
152 leaf-list aggregated-node-edge-point {
153 type leafref {
154 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
155 }
156 config false;
157 description "none";
158 }
159 leaf-list mapped-service-interface-point {
160 type leafref {
161 path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
162 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800163 config false;
Toru Furusawa28988892017-10-30 17:28:40 -0700164 description "NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental";
165 }
Toru Furusawa28988892017-10-30 17:28:40 -0700166 leaf link-port-direction {
167 type tapi-common:port-direction;
168 config false;
169 description "The orientation of defined flow at the LinkEnd.";
170 }
171 leaf link-port-role {
172 type tapi-common:port-role;
173 config false;
174 description "Each LinkEnd of the Link has a role (e.g., symmetric, hub, spoke, leaf, root) in the context of the Link with respect to the Link function. ";
175 }
176 uses tapi-common:resource-spec;
wu6a418d22018-02-02 01:49:21 -0500177 uses tapi-common:admin-state-pac;
178 uses tapi-common:termination-pac;
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800179 uses tapi-common:capacity-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700180 description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers.
181 The structure of LTP supports all transport protocols including circuit and packet forms.";
182 }
183 grouping risk-parameter-pac {
184 list risk-characteristic {
185 key 'risk-characteristic-name';
186 config false;
187 min-elements 1;
188 uses risk-characteristic;
189 description "A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration.";
190 }
191 description "The risk characteristics of a TopologicalEntity come directly from the underlying physical realization.
192 The risk characteristics propagate from the physical realization to the client and from the server layer to the client layer, this propagation may be modified by protection.
193 A TopologicalEntity may suffer degradation or failure as a result of a problem in a part of the underlying realization.
194 The realization can be partitioned into segments which have some relevant common failure modes.
195 There is a risk of failure/degradation of each segment of the underlying realization.
196 Each segment is a part of a larger physical/geographical unit that behaves as one with respect to failure (i.e. a failure will have a high probability of impacting the whole unit (e.g. all cables in the same duct).
197 Disruptions to that larger physical/geographical unit will impact (cause failure/errors to) all TopologicalEntities that use any part of that larger physical/geographical entity.
198 Any TopologicalEntity that uses any part of that larger physical/geographical unit will suffer impact and hence each TopologicalEntity shares risk.
199 The identifier of each physical/geographical unit that is involved in the realization of each segment of a Topological entity can be listed in the RiskParameter_Pac of that TopologicalEntity.
200 A segment has one or more risk characteristic.
201 Shared risk between two TopologicalEntities compromises the integrity of any solution that use one of those TopologicalEntity as a backup for the other.
202 Where two TopologicalEntities have a common risk characteristic they have an elevated probability of failing simultaneously compared to two TopologicalEntities that do not share risk characteristics.";
203 }
204 grouping transfer-cost-pac {
205 list cost-characteristic {
206 key 'cost-name';
207 config false;
208 min-elements 1;
209 uses cost-characteristic;
210 description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
211 }
212 description "The cost characteristics of a TopologicalEntity not necessarily correlated to the cost of the underlying physical realization.
213 They may be quite specific to the individual TopologicalEntity e.g. opportunity cost. Relates to layer capacity
214 There may be many perspectives from which cost may be considered for a particular TopologicalEntity and hence many specific costs and potentially cost algorithms.
215 Using an entity will incur a cost. ";
216 }
217 grouping transfer-integrity-pac {
218 leaf error-characteristic {
219 type string;
220 config false;
221 description "Describes the degree to which the signal propagated can be errored.
222 Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded.";
223 }
224 leaf loss-characteristic {
225 type string;
226 config false;
227 description "Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow.
228 Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips).";
229 }
230 leaf repeat-delivery-characteristic {
231 type string;
232 config false;
233 description "Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example).
234 It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay.";
235 }
236 leaf delivery-order-characteristic {
237 type string;
238 config false;
239 description "Describes the degree to which packets will be delivered out of sequence.
240 Does not apply to TDM as the TDM protocols maintain strict order.";
241 }
242 leaf unavailable-time-characteristic {
243 type string;
244 config false;
245 description "Describes the duration for which there may be no valid signal propagated.";
246 }
247 leaf server-integrity-process-characteristic {
248 type string;
249 config false;
250 description "Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity.";
251 }
252 description "Transfer intergrity characteristic covers expected/specified/acceptable characteristic of degradation of the transfered signal.
253 It includes all aspects of possible degradation of signal content as well as any damage of any form to the total TopologicalEntity and to the carried signals.
254 Note that the statement is of total impact to the TopologicalEntity so any partial usage of the TopologicalEntity (e.g. a signal that does not use full capacity) will only suffer its portion of the impact.";
255 }
256 grouping transfer-timing-pac {
257 list latency-characteristic {
258 key 'traffic-property-name';
259 config false;
260 min-elements 1;
261 uses latency-characteristic;
262 description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
263 }
264 description "A TopologicalEntity will suffer effects from the underlying physical realization related to the timing of the information passed by the TopologicalEntity.";
265 }
266 grouping validation-pac {
267 list validation-mechanism {
268 key 'validation-mechanism';
269 config false;
270 min-elements 1;
271 uses validation-mechanism;
272 description "Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity.";
273 }
274 description "Validation covers the various adjacenct discovery and reachability verification protocols. Also may cover Information source and degree of integrity.";
275 }
276 grouping network-topology-service {
277 leaf-list topology {
278 type leafref {
279 path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';
280 }
281 config false;
282 description "none";
283 }
284 uses tapi-common:service-spec;
285 description "none";
286 }
287 grouping topology-context {
288 container nw-topology-service {
289 config false;
290 uses network-topology-service;
291 description "none";
292 }
293 list topology {
294 key 'uuid';
295 config false;
296 uses topology;
297 description "none";
298 }
299 description "none";
300 }
301 grouping inter-rule-group {
302 list rule {
303 key 'local-id';
304 min-elements 1;
305 uses rule;
306 description "none";
307 }
308 leaf-list associated-node-rule-group {
309 type leafref {
310 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:node-rule-group/tapi-topology:uuid';
311 }
312 min-elements 2;
313 description "none";
314 }
Toru Furusawa28988892017-10-30 17:28:40 -0700315 uses tapi-common:resource-spec;
wu6a418d22018-02-02 01:49:21 -0500316 uses tapi-common:capacity-pac;
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800317 uses transfer-cost-pac;
318 uses transfer-timing-pac;
319 uses risk-parameter-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700320 description "none";
321 }
322 grouping node-rule-group {
323 list rule {
324 key 'local-id';
325 min-elements 1;
326 uses rule;
327 description "none";
328 }
329 leaf-list node-edge-point {
330 type leafref {
331 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
332 }
333 min-elements 1;
334 description "none";
335 }
336 leaf-list node-rule-group {
337 type leafref {
338 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:node-rule-group/tapi-topology:uuid';
339 }
340 description "none";
341 }
342 list inter-rule-group {
343 key 'uuid';
344 uses inter-rule-group;
345 description "none";
346 }
Toru Furusawa28988892017-10-30 17:28:40 -0700347 uses tapi-common:resource-spec;
wu6a418d22018-02-02 01:49:21 -0500348 uses tapi-common:capacity-pac;
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800349 uses transfer-cost-pac;
350 uses transfer-timing-pac;
351 uses risk-parameter-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700352 description "none";
353 }
354 grouping rule {
355 leaf rule-type {
356 type rule-type;
357 description "none";
358 }
359 leaf forwarding-rule {
360 type forwarding-rule;
361 description "none";
362 }
363 leaf override-priority {
364 type uint64;
365 description "none";
366 }
367 uses tapi-common:local-class;
368 description "none";
369 }
370
371 /***********************
372 * package type-definitions
373 **********************/
374 grouping cost-characteristic {
375 leaf cost-name {
376 type string;
377 description "The cost characteristic will related to some aspect of the TopologicalEntity (e.g. $ cost, routing weight). This aspect will be conveyed by the costName.";
378 }
379 leaf cost-value {
380 type string;
381 description "The specific cost.";
382 }
383 leaf cost-algorithm {
384 type string;
385 description "The cost may vary based upon some properties of the TopologicalEntity. The rules for the variation are conveyed by the costAlgorithm.";
386 }
387 description "The information for a particular cost characteristic.";
388 }
389 grouping latency-characteristic {
390 leaf traffic-property-name {
391 type string;
392 description "The identifier of the specific traffic property to which the queuing latency applies.";
393 }
394 leaf fixed-latency-characteristic {
395 type string;
396 config false;
397 description "A TopologicalEntity suffers delay caused by the realization of the servers (e.g. distance related; FEC encoding etc.) along with some client specific processing. This is the total average latency effect of the TopologicalEntity";
398 }
399 leaf queing-latency-characteristic {
400 type string;
401 description "The specific queuing latency for the traffic property.";
402 }
403 leaf jitter-characteristic {
404 type string;
405 config false;
406 description "High frequency deviation from true periodicity of a signal and therefore a small high rate of change of transfer latency.
407 Applies to TDM systems (and not packet).";
408 }
409 leaf wander-characteristic {
410 type string;
411 config false;
412 description "Low frequency deviation from true periodicity of a signal and therefore a small low rate of change of transfer latency.
413 Applies to TDM systems (and not packet).";
414 }
415 description "Provides information on latency characteristic for a particular stated trafficProperty.";
416 }
417 grouping risk-characteristic {
418 leaf risk-characteristic-name {
419 type string;
420 description "The name of the risk characteristic. The characteristic may be related to a specific degree of closeness.
421 For example a particular characteristic may apply to failures that are localized (e.g. to one side of a road) where as another characteristic may relate to failures that have a broader impact (e.g. both sides of a road that crosses a bridge).
422 Depending upon the importance of the traffic being routed different risk characteristics will be evaluated.";
423 }
424 leaf-list risk-identifier-list {
425 type string;
426 min-elements 1;
427 description "A list of the identifiers of each physical/geographic unit (with the specific risk characteristic) that is related to a segment of the TopologicalEntity.";
428 }
429 description "The information for a particular risk characteristic where there is a list of risk identifiers related to that characteristic.";
430 }
431 grouping validation-mechanism {
432 leaf validation-mechanism {
433 type string;
434 description "Name of mechanism used to validate adjacency";
435 }
436 leaf layer-protocol-adjacency-validated {
437 type string;
438 description "State of validatiion";
439 }
440 leaf validation-robustness {
441 type string;
442 description "Quality of validation (i.e. how likely is the stated validation to be invalid)";
443 }
444 description "Identifies the validation mechanism and describes the characteristics of that mechanism";
445 }
446 typedef forwarding-rule {
447 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500448 enum MAY_FORWARD_ACROSS_GROUP {
Toru Furusawa28988892017-10-30 17:28:40 -0700449 description "none";
450 }
wu6a418d22018-02-02 01:49:21 -0500451 enum MUST_FORWARD_ACROSS_GROUP {
Toru Furusawa28988892017-10-30 17:28:40 -0700452 description "none";
453 }
wu6a418d22018-02-02 01:49:21 -0500454 enum CANNOT_FORWARD_ACROSS_GROUP {
Toru Furusawa28988892017-10-30 17:28:40 -0700455 description "none";
456 }
wu6a418d22018-02-02 01:49:21 -0500457 enum NO_STATEMENT_ON_FORWARDING {
Toru Furusawa28988892017-10-30 17:28:40 -0700458 description "none";
459 }
460 }
461 description "none";
462 }
463 typedef rule-type {
464 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500465 enum FORWARDING {
Toru Furusawa28988892017-10-30 17:28:40 -0700466 description "none";
467 }
wu6a418d22018-02-02 01:49:21 -0500468 enum CAPACITY {
Toru Furusawa28988892017-10-30 17:28:40 -0700469 description "none";
470 }
wu6a418d22018-02-02 01:49:21 -0500471 enum COST {
Toru Furusawa28988892017-10-30 17:28:40 -0700472 description "none";
473 }
wu6a418d22018-02-02 01:49:21 -0500474 enum TIMING {
Toru Furusawa28988892017-10-30 17:28:40 -0700475 description "none";
476 }
wu6a418d22018-02-02 01:49:21 -0500477 enum RISK {
Toru Furusawa28988892017-10-30 17:28:40 -0700478 description "none";
479 }
wu6a418d22018-02-02 01:49:21 -0500480 enum GROUPING {
Toru Furusawa28988892017-10-30 17:28:40 -0700481 description "none";
482 }
483 }
484 description "none";
485 }
486 grouping resilience-type {
487 leaf restoration-policy {
488 type restoration-policy;
489 description "none";
490 }
491 leaf protection-type {
492 type protection-type;
493 description "none";
494 }
495 description "none";
496 }
497 typedef restoration-policy {
498 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500499 enum PER_DOMAIN_RESTORATION {
Toru Furusawa28988892017-10-30 17:28:40 -0700500 description "none";
501 }
wu6a418d22018-02-02 01:49:21 -0500502 enum END_TO_END_RESTORATION {
Toru Furusawa28988892017-10-30 17:28:40 -0700503 description "none";
504 }
wu6a418d22018-02-02 01:49:21 -0500505 enum NA {
Toru Furusawa28988892017-10-30 17:28:40 -0700506 description "none";
507 }
508 }
509 description "none";
510 }
511 typedef protection-type {
512 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500513 enum NO_PROTECTON {
Toru Furusawa28988892017-10-30 17:28:40 -0700514 description "none";
515 }
wu6a418d22018-02-02 01:49:21 -0500516 enum ONE_PLUS_ONE_PROTECTION {
Toru Furusawa28988892017-10-30 17:28:40 -0700517 description "none";
518 }
wu6a418d22018-02-02 01:49:21 -0500519 enum ONE_PLUS_ONE_PROTECTION_WITH_DYNAMIC_RESTORATION {
Toru Furusawa28988892017-10-30 17:28:40 -0700520 description "none";
521 }
wu6a418d22018-02-02 01:49:21 -0500522 enum PERMANENT_ONE_PLUS_ONE_PROTECTION {
Toru Furusawa28988892017-10-30 17:28:40 -0700523 description "none";
524 }
wu6a418d22018-02-02 01:49:21 -0500525 enum ONE_FOR_ONE_PROTECTION {
Toru Furusawa28988892017-10-30 17:28:40 -0700526 description "none";
527 }
wu6a418d22018-02-02 01:49:21 -0500528 enum DYNAMIC_RESTORATION {
Toru Furusawa28988892017-10-30 17:28:40 -0700529 description "none";
530 }
wu6a418d22018-02-02 01:49:21 -0500531 enum PRE_COMPUTED_RESTORATION {
Toru Furusawa28988892017-10-30 17:28:40 -0700532 description "none";
533 }
534 }
535 description "none";
536 }
537
538 /***********************
539 * package interfaces
540 **********************/
541 rpc get-topology-details {
542 description "none";
543 input {
544 leaf topology-id-or-name {
545 type string;
546 description "none";
547 }
548 }
549 output {
550 container topology {
551 uses topology;
552 description "none";
553 }
554 }
555 }
556 rpc get-node-details {
557 description "none";
558 input {
559 leaf topology-id-or-name {
560 type string;
561 description "none";
562 }
563 leaf node-id-or-name {
564 type string;
565 description "none";
566 }
567 }
568 output {
569 container node {
570 uses node;
571 description "none";
572 }
573 }
574 }
575 rpc get-node-edge-point-details {
576 description "none";
577 input {
578 leaf topology-id-or-name {
579 type string;
580 description "none";
581 }
582 leaf node-id-or-name {
583 type string;
584 description "none";
585 }
586 leaf ep-id-or-name {
587 type string;
588 description "none";
589 }
590 }
591 output {
592 container node-edge-point {
593 uses node-edge-point;
594 description "none";
595 }
596 }
597 }
598 rpc get-link-details {
599 description "none";
600 input {
601 leaf topology-id-or-name {
602 type string;
603 description "none";
604 }
605 leaf link-id-or-name {
606 type string;
607 description "none";
608 }
609 }
610 output {
611 container link {
612 uses link;
613 description "none";
614 }
615 }
616 }
617 rpc get-topology-list {
618 description "none";
619 output {
620 list topology {
621 uses topology;
622 description "none";
623 }
624 }
625 }
626
627}