blob: 05c668b6900aa3bd99a60785812680ab6fc1d3c0 [file] [log] [blame]
Toru Furusawa28988892017-10-30 17:28:40 -07001module tapi-common {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -08002 namespace "urn:onf:otcc:yang:tapi-common";
Toru Furusawa28988892017-10-30 17:28:40 -07003 prefix tapi-common;
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -08004 organization "ONF OTCC (Open Transport Configuration & Control) Project";
Yuta HIGUCHI348bba72018-03-08 13:46:48 -08005 contact "
6 Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
7 Project List: <mailto:transport-api@opennetworking.org>
8 Editor: Karthik Sethuraman
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -08009 <mailto:karthik.sethuraman@necam.com>";
10 description "
11 This module contains TAPI Common Model definitions.
12 Source: TapiCommon.uml
13 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
14 License: This module is distributed under the Apache License 2.0
15 ";
Yuta HIGUCHI348bba72018-03-08 13:46:48 -080016 revision 2018-03-07 {
17 description "ONF Transport API version 2.0.2
18 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
19 <https://wiki.opennetworking.org/display/OIMT/IISOMI>
20 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/change-log.md>";
21 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
22 <https://github.com/OpenNetworkingFoundation/TAPI/tree/develop/UML>";
Toru Furusawa28988892017-10-30 17:28:40 -070023 }
Yuta HIGUCHI348bba72018-03-08 13:46:48 -080024
25 /*************************
26 * definitions of refrences
27 *************************/
28 grouping service-interface-point-ref {
29 leaf service-interface-point-id {
30 type leafref {
31 path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
32 }
33 }
34 }
35
Toru Furusawa28988892017-10-30 17:28:40 -070036 /***********************
37 * package object-classes
38 **********************/
39 grouping admin-state-pac {
40 leaf administrative-state {
41 type administrative-state;
42 description "none";
43 }
44 leaf operational-state {
45 type operational-state;
46 config false;
47 description "none";
48 }
49 leaf lifecycle-state {
50 type lifecycle-state;
51 config false;
52 description "none";
53 }
54 description "Provides state attributes that are applicable to an entity that can be administered. Such an entity also has operational and lifecycle aspects.";
55 }
56 grouping global-class {
57 leaf uuid {
58 type uuid;
59 description "UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity.
60 UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters.
61 Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
62 Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
63 }
64 list name {
65 key 'value-name';
66 uses name-and-value;
67 description "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";
68 }
69 description "The TAPI GlobalComponent serves as the super class for all TAPI entities that can be directly retrieved by their ID. As such, these are first class entities and their ID is expected to be globally unique. ";
70 }
Toru Furusawa28988892017-10-30 17:28:40 -070071 grouping lifecycle-state-pac {
72 leaf lifecycle-state {
73 type lifecycle-state;
74 config false;
75 description "none";
76 }
77 description "Provides state attributes for an entity that has lifeccycle aspects only.";
78 }
79 grouping local-class {
80 leaf local-id {
81 type string;
82 description "none";
83 }
84 list name {
85 key 'value-name';
86 uses name-and-value;
87 description "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";
88 }
89 description "The TAPI GlobalComponent serves as the super class for all TAPI entities that can be directly retrieved by their ID. As such, these are first class entities and their ID is expected to be globally unique. ";
90 }
91 grouping operational-state-pac {
92 leaf operational-state {
93 type operational-state;
94 config false;
95 description "none";
96 }
97 leaf lifecycle-state {
98 type lifecycle-state;
99 config false;
100 description "none";
101 }
102 description "Provides state attributes that are applicable to an entity that reflects operational aspects. Such an entity is expected to also have lifecycle aspects.";
103 }
104 container context {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800105 uses tapi-context;
106 presence "Root container for all TAPI interaction";
Toru Furusawa28988892017-10-30 17:28:40 -0700107 description "none";
108 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800109 grouping tapi-context {
Toru Furusawa28988892017-10-30 17:28:40 -0700110 list service-interface-point {
111 key 'uuid';
112 min-elements 2;
113 uses service-interface-point;
114 description "none";
115 }
116 uses global-class;
117 description "The Network Control Domain (NCD) object class represents the scope of control that a particular SDN controller has with respect to a particular network, (i.e., encompassing a designated set of interconnected (virtual) network elements).";
118 }
119 grouping resource-spec {
120 uses global-class;
121 description "none";
122 }
123 grouping service-spec {
124 uses global-class;
125 description "none";
126 }
127 grouping service-interface-point {
wu6a418d22018-02-02 01:49:21 -0500128 leaf-list layer-protocol-name {
129 type layer-protocol-name;
130 config false;
Toru Furusawa28988892017-10-30 17:28:40 -0700131 min-elements 1;
wu6a418d22018-02-02 01:49:21 -0500132 description "Usage of layerProtocolName [>1] in the ServiceInterfacePoint should be considered experimental";
Toru Furusawa28988892017-10-30 17:28:40 -0700133 }
134 uses resource-spec;
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800135 uses admin-state-pac;
136 uses capacity-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700137 description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers.
138 The structure of LTP supports all transport protocols including circuit and packet forms.";
139 }
140 grouping capacity-pac {
141 container total-potential-capacity {
142 config false;
143 uses capacity;
144 description "An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken.";
145 }
146 container available-capacity {
147 config false;
148 uses capacity;
149 description "Capacity available to be assigned.";
150 }
151 description "The TopologicalEntity derives capacity from the underlying realization.
152 A TopologicalEntity may be an abstraction and virtualization of a subset of the underlying capability offered in a view or may be directly reflecting the underlying realization.
153 A TopologicalEntity may be directly used in the view or may be assigned to another view for use.
154 The clients supported by a multi-layer TopologicalEntity may interact such that the resources used by one client may impact those available to another. This is derived from the LTP spec details.
155 Represents the capacity available to user (client) along with client interaction and usage.
156 A TopologicalEntity may reflect one or more client protocols and one or more members for each profile.";
157 }
wu6a418d22018-02-02 01:49:21 -0500158 grouping termination-pac {
159 leaf termination-direction {
160 type termination-direction;
161 config false;
162 description "The overall directionality of the LP.
163 - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.
164 - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows
165 - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";
166 }
167 leaf termination-state {
168 type termination-state;
169 config false;
170 description "Indicates whether the layer is terminated and if so how.";
171 }
172 description "Each transport layer is represented by a LayerProtocol (LP) instance. The LayerProtocol instances it can be used for controlling termination and monitoring functionality.
173 It can also be used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection.
174 Where the client – server relationship is fixed 1:1 and immutable, the layers can be encapsulated in a single LTP instance. Where the is a n:1 relationship between client and server, the layers must be split over two separate instances of LTP. ";
175 }
Toru Furusawa28988892017-10-30 17:28:40 -0700176
177 /***********************
178 * package type-definitions
179 **********************/
Toru Furusawa28988892017-10-30 17:28:40 -0700180 typedef administrative-state {
181 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500182 enum LOCKED {
Toru Furusawa28988892017-10-30 17:28:40 -0700183 description "Users are administratively prohibited from making use of the resource.";
184 }
wu6a418d22018-02-02 01:49:21 -0500185 enum UNLOCKED {
Toru Furusawa28988892017-10-30 17:28:40 -0700186 description "Users are allowed to use the resource";
187 }
188 }
189 description "The possible values of the administrativeState.";
190 }
191 typedef date-and-time {
192 type string;
193 description "This primitive type defines the date and time according to the following structure:
194 yyyyMMddhhmmss.s[Z|{+|-}HHMm] where:
195 yyyy 0000..9999 year
196 MM 01..12 month
197 dd 01..31 day
198 hh 00..23 hour
199 mm 00..59 minute
200 ss 00..59 second
201 s .0...9 tenth of second (set to .0 if EMS or NE cannot support this granularity)
202 Z Z indicates UTC (rather than local time)
203 {+|-} + or - delta from UTC
204 HH 00..23 time zone difference in hours
205 Mm 00..59 time zone difference in minutes.";
206 }
207 typedef directive-value {
208 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500209 enum MINIMIZE {
Toru Furusawa28988892017-10-30 17:28:40 -0700210 description "none";
211 }
wu6a418d22018-02-02 01:49:21 -0500212 enum MAXIMIZE {
Toru Furusawa28988892017-10-30 17:28:40 -0700213 description "none";
214 }
wu6a418d22018-02-02 01:49:21 -0500215 enum ALLOW {
Toru Furusawa28988892017-10-30 17:28:40 -0700216 description "none";
217 }
wu6a418d22018-02-02 01:49:21 -0500218 enum DISALLOW {
Toru Furusawa28988892017-10-30 17:28:40 -0700219 description "none";
220 }
wu6a418d22018-02-02 01:49:21 -0500221 enum DONT_CARE {
Toru Furusawa28988892017-10-30 17:28:40 -0700222 description "none";
223 }
224 }
225 description "none";
226 }
227 typedef forwarding-direction {
228 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500229 enum BIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700230 description "The Fowarding entity supports both BIDIRECTIONAL flows at all Ports (i.e. all Ports have both an INPUT flow and an OUTPUT flow defined)";
231 }
wu6a418d22018-02-02 01:49:21 -0500232 enum UNIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700233 description "The Forwarding entity has Ports that are either INPUT or OUTPUT. It has no BIDIRECTIONAL Ports.";
234 }
wu6a418d22018-02-02 01:49:21 -0500235 enum UNDEFINED_OR_UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700236 description "Not a normal state. The system is unable to determine the correct value.";
237 }
238 }
239 description "The directionality of a Forwarding entity.";
240 }
241 typedef layer-protocol-name {
wu6a418d22018-02-02 01:49:21 -0500242 type enumeration {
243 enum OTSiA {
244 description "Models the OTSiA layer as per ITU-T G.872 (2017) version 4";
245 }
246 enum OCH {
247 description "Models the legacy OCH layer as per ITU-T G.872";
248 }
249 enum OTU {
250 description "Models the OTU layer as per ITU-T G.872";
251 }
252 enum ODU {
253 description "Models the ODU layer as per ITU-T G.872";
254 }
255 enum ETH {
256 description "Models the ETH layer as per ITU-T G.8010";
257 }
258 enum ETY {
259 description "Models the ETY layer as per ITU-T G.8010";
260 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800261 enum DSR {
262 description "Models a Digital Signal of an unspecified rate. This value can be used when the intent is to respresent an generic digital layer signal without making any statement on its format or overhead (processing) capabilities.";
263 }
Toru Furusawa28988892017-10-30 17:28:40 -0700264 }
265 description "Provides a controlled list of layer protocol names and indicates the naming authority.
266 Note that it is expected that attributes will be added to this structure to convey the naming authority name, the name of the layer protocol using a human readable string and any particular standard reference.
267 Layer protocol names include:
268 - Layer 1 (L1): OTU, ODU
269 - Layer 2 (L2): Carrier Grade Ethernet (ETY, ETH), MPLS-TP (MT)
270 ";
271 }
272 typedef lifecycle-state {
273 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500274 enum PLANNED {
Toru Furusawa28988892017-10-30 17:28:40 -0700275 description "The resource is planned but is not present in the network.";
276 }
wu6a418d22018-02-02 01:49:21 -0500277 enum POTENTIAL_AVAILABLE {
Toru Furusawa28988892017-10-30 17:28:40 -0700278 description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.
279 o When a potential resource is configured and allocated to a client it is moved to the “installed” state for that client.
280 o If the potential resource has been consumed (e.g. allocated to another client) it is moved to the “planned” state for all other clients.";
281 }
wu6a418d22018-02-02 01:49:21 -0500282 enum POTENTIAL_BUSY {
283 description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.
284 o When a potential resource is configured and allocated to a client it is moved to the “installed” state for that client.
285 o If the potential resource has been consumed (e.g. allocated to another client) it is moved to the “planned” state for all other clients.";
286 }
287 enum INSTALLED {
Toru Furusawa28988892017-10-30 17:28:40 -0700288 description "The resource is present in the network and is capable of providing the service expected.";
289 }
wu6a418d22018-02-02 01:49:21 -0500290 enum PENDING_REMOVAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700291 description "The resource has been marked for removal";
292 }
293 }
294 description "The possible values of the lifecycleState.";
295 }
296 grouping name-and-value {
297 leaf value-name {
298 type string;
299 description "The name of the value. The value need not have a name.";
300 }
301 leaf value {
302 type string;
303 description "The value";
304 }
305 description "A scoped name-value pair";
306 }
307 typedef operational-state {
308 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500309 enum DISABLED {
Toru Furusawa28988892017-10-30 17:28:40 -0700310 description "The resource is unable to meet the SLA of the user of the resource. If no (explicit) SLA is defined the resource is disabled if it is totally inoperable and unable to provide service to the user.";
311 }
wu6a418d22018-02-02 01:49:21 -0500312 enum ENABLED {
Toru Furusawa28988892017-10-30 17:28:40 -0700313 description "The resource is partially or fully operable and available for use";
314 }
315 }
316 description "The possible values of the operationalState.";
317 }
318 typedef port-direction {
319 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500320 enum BIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700321 description "The Port has both an INPUT flow and an OUTPUT flow defined.";
322 }
wu6a418d22018-02-02 01:49:21 -0500323 enum INPUT {
Toru Furusawa28988892017-10-30 17:28:40 -0700324 description "The Port only has definition for a flow into the Forwarding entity (i.e. an ingress flow).";
325 }
wu6a418d22018-02-02 01:49:21 -0500326 enum OUTPUT {
Toru Furusawa28988892017-10-30 17:28:40 -0700327 description "The Port only has definition for a flow out of the Forwarding entity (i.e. an egress flow).";
328 }
wu6a418d22018-02-02 01:49:21 -0500329 enum UNIDENTIFIED_OR_UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700330 description "Not a normal state. The system is unable to determine the correct value.";
331 }
332 }
333 description "The orientation of flow at the Port of a Forwarding entity";
334 }
335 typedef port-role {
336 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500337 enum SYMMETRIC {
Toru Furusawa28988892017-10-30 17:28:40 -0700338 description "none";
339 }
wu6a418d22018-02-02 01:49:21 -0500340 enum ROOT {
Toru Furusawa28988892017-10-30 17:28:40 -0700341 description "none";
342 }
wu6a418d22018-02-02 01:49:21 -0500343 enum LEAF {
Toru Furusawa28988892017-10-30 17:28:40 -0700344 description "none";
345 }
wu6a418d22018-02-02 01:49:21 -0500346 enum TRUNK {
Toru Furusawa28988892017-10-30 17:28:40 -0700347 description "none";
348 }
wu6a418d22018-02-02 01:49:21 -0500349 enum UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700350 description "none";
351 }
352 }
353 description "The role of an end in the context of the function of the forwarding entity that it bounds";
354 }
355 typedef termination-direction {
356 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500357 enum BIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700358 description "A Termination with both SINK and SOURCE flows.";
359 }
wu6a418d22018-02-02 01:49:21 -0500360 enum SINK {
Toru Furusawa28988892017-10-30 17:28:40 -0700361 description "The flow is up the layer stack from the server side to the client side.
362 Considering an example of a Termination function within the termination entity, a SINK flow:
363 - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component
364 - then will be decoded and deconstructed
365 - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component
366 A SINK termination is one that only supports a SINK flow.
367 A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";
368 }
wu6a418d22018-02-02 01:49:21 -0500369 enum SOURCE {
Toru Furusawa28988892017-10-30 17:28:40 -0700370 description "The flow is down the layer stack from the server side to the client side.
371 Considering an example of a Termination function within the termination entity, a SOURCE flow:
372 - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component
373 - then will be assembled with various overheads etc and will be coded
374 - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component
375 A SOURCE termination is one that only supports a SOURCE flow.
376 A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";
377 }
wu6a418d22018-02-02 01:49:21 -0500378 enum UNDEFINED_OR_UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700379 description "Not a normal state. The system is unable to determine the correct value.";
380 }
381 }
382 description "The directionality of a termination entity";
383 }
384 typedef termination-state {
385 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500386 enum LP_CAN_NEVER_TERMINATE {
Toru Furusawa28988892017-10-30 17:28:40 -0700387 description "A non-flexible case that can never be terminated.";
388 }
wu6a418d22018-02-02 01:49:21 -0500389 enum LT_NOT_TERMINATED {
Toru Furusawa28988892017-10-30 17:28:40 -0700390 description "A flexible termination that can terminate but is currently not terminated.";
391 }
wu6a418d22018-02-02 01:49:21 -0500392 enum TERMINATED_SERVER_TO_CLIENT_FLOW {
Toru Furusawa28988892017-10-30 17:28:40 -0700393 description "A flexible termination that is currently terminated for server to client flow only.";
394 }
wu6a418d22018-02-02 01:49:21 -0500395 enum TERMINATED_CLIENT_TO_SERVER_FLOW {
Toru Furusawa28988892017-10-30 17:28:40 -0700396 description "A flexible termination that is currently terminated for client to server flow only.";
397 }
wu6a418d22018-02-02 01:49:21 -0500398 enum TERMINATED_BIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700399 description "A flexible termination that is currently terminated in both directions of flow.";
400 }
wu6a418d22018-02-02 01:49:21 -0500401 enum LT_PERMENANTLY_TERMINATED {
Toru Furusawa28988892017-10-30 17:28:40 -0700402 description "A non-flexible termination that is always terminated (in both directions of flow for a bidirectional case and in the one direction of flow for both unidirectional cases).";
403 }
wu6a418d22018-02-02 01:49:21 -0500404 enum TERMINATION_STATE_UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700405 description "There TerminationState cannot be determined.";
406 }
407 }
408 description "Provides support for the range of behaviours and specific states that an LP can take with respect to termination of the signal.
409 Indicates to what degree the LayerTermination is terminated.";
410 }
411 typedef uuid {
412 type string;
413 description "The univeral ID value where the mechanism for generation is defned by some authority not directly referenced in the structure.
414 UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters.
415 Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
416 Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
417 }
418 grouping capacity {
419 container total-size {
420 uses capacity-value;
421 description "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate.";
422 }
423 container bandwidth-profile {
424 uses bandwidth-profile;
425 description "none";
426 }
427 description "Information on capacity of a particular TopologicalEntity.";
428 }
429 grouping bandwidth-profile {
430 leaf bw-profile-type {
431 type bandwidth-profile-type;
432 description "none";
433 }
434 container committed-information-rate {
435 uses capacity-value;
436 description "none";
437 }
438 container committed-burst-size {
439 uses capacity-value;
440 description "none";
441 }
442 container peak-information-rate {
443 uses capacity-value;
444 description "none";
445 }
446 container peak-burst-size {
447 uses capacity-value;
448 description "none";
449 }
450 leaf color-aware {
451 type boolean;
452 description "none";
453 }
454 leaf coupling-flag {
455 type boolean;
456 description "none";
457 }
458 description "none";
459 }
460 grouping capacity-value {
461 leaf value {
462 type uint64;
463 description "none";
464 }
465 leaf unit {
466 type capacity-unit;
467 description "none";
468 }
469 description "The Capacity (Bandwidth) values that are applicable for digital layers.";
470 }
471 typedef capacity-unit {
472 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500473 enum TB {
474 description "Indicates that the integer CapacityValue is in TeraBytes";
475 }
476 enum TBPS {
477 description "Indicates that the integer CapacityValue is in Terabit-per-second";
478 }
479 enum GB {
480 description "Indicates that the integer CapacityValue is in GigaBytes";
481 }
482 enum GBPS {
Toru Furusawa28988892017-10-30 17:28:40 -0700483 description "Indicates that the integer CapacityValue is in Gigabit-per-second";
484 }
wu6a418d22018-02-02 01:49:21 -0500485 enum MB {
486 description "Indicates that the integer CapacityValue is in MegaBytes";
487 }
488 enum MBPS {
Toru Furusawa28988892017-10-30 17:28:40 -0700489 description "Indicates that the integer CapacityValue is in Megabit-per-second";
490 }
wu6a418d22018-02-02 01:49:21 -0500491 enum KB {
492 description "Indicates that the integer CapacityValue is in KiloBytes";
493 }
494 enum KBPS {
Toru Furusawa28988892017-10-30 17:28:40 -0700495 description "Indicates that the integer CapacityValue is in Kilobit-per-second";
496 }
497 }
498 description "none";
499 }
500 typedef bandwidth-profile-type {
501 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500502 enum MEF_10.x {
Toru Furusawa28988892017-10-30 17:28:40 -0700503 description "none";
504 }
wu6a418d22018-02-02 01:49:21 -0500505 enum RFC_2697 {
Toru Furusawa28988892017-10-30 17:28:40 -0700506 description "none";
507 }
wu6a418d22018-02-02 01:49:21 -0500508 enum RFC_2698 {
Toru Furusawa28988892017-10-30 17:28:40 -0700509 description "none";
510 }
wu6a418d22018-02-02 01:49:21 -0500511 enum RFC_4115 {
Toru Furusawa28988892017-10-30 17:28:40 -0700512 description "none";
513 }
514 }
515 description "none";
516 }
517 grouping time-range {
518 leaf end-time {
519 type date-and-time;
520 description "none";
521 }
522 leaf start-time {
523 type date-and-time;
524 description "none";
525 }
526 description "none";
527 }
528
529 /***********************
530 * package interfaces
531 **********************/
532 rpc get-service-interface-point-details {
533 description "none";
534 input {
535 leaf sip-id-or-name {
536 type string;
537 description "none";
538 }
539 }
540 output {
541 container sip {
542 uses service-interface-point;
543 description "none";
544 }
545 }
546 }
547 rpc get-service-interface-point-list {
548 description "none";
549 output {
550 list sip {
551 uses service-interface-point;
552 description "none";
553 }
554 }
555 }
556 rpc update-service-interface-point {
557 description "none";
558 input {
559 leaf sip-id-or-name {
560 type string;
561 description "none";
562 }
563 leaf state {
564 type administrative-state;
565 description "none";
566 }
567 }
568 }
569
570}