blob: f0a6f36be0e1470637a57630723bde6906a07e7f [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 HIGUCHI7f165b12018-03-25 19:05:29 -07005 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 {
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070017 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>
Yuta HIGUCHI348bba72018-03-08 13:46:48 -080020 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/change-log.md>";
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070021 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
Yuta HIGUCHI348bba72018-03-08 13:46:48 -080022 <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 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070033 description "none";
Yuta HIGUCHI348bba72018-03-08 13:46:48 -080034 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070035 description "none";
Yuta HIGUCHI348bba72018-03-08 13:46:48 -080036 }
37
Toru Furusawa28988892017-10-30 17:28:40 -070038 /***********************
39 * package object-classes
40 **********************/
41 grouping admin-state-pac {
42 leaf administrative-state {
43 type administrative-state;
44 description "none";
45 }
46 leaf operational-state {
47 type operational-state;
48 config false;
49 description "none";
50 }
51 leaf lifecycle-state {
52 type lifecycle-state;
53 config false;
54 description "none";
55 }
56 description "Provides state attributes that are applicable to an entity that can be administered. Such an entity also has operational and lifecycle aspects.";
57 }
58 grouping global-class {
59 leaf uuid {
60 type uuid;
61 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.
62 UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters.
63 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}
64 Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
65 }
66 list name {
67 key 'value-name';
68 uses name-and-value;
69 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.";
70 }
71 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. ";
72 }
Toru Furusawa28988892017-10-30 17:28:40 -070073 grouping lifecycle-state-pac {
74 leaf lifecycle-state {
75 type lifecycle-state;
76 config false;
77 description "none";
78 }
79 description "Provides state attributes for an entity that has lifeccycle aspects only.";
80 }
81 grouping local-class {
82 leaf local-id {
83 type string;
84 description "none";
85 }
86 list name {
87 key 'value-name';
88 uses name-and-value;
89 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.";
90 }
91 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. ";
92 }
93 grouping operational-state-pac {
94 leaf operational-state {
95 type operational-state;
96 config false;
97 description "none";
98 }
99 leaf lifecycle-state {
100 type lifecycle-state;
101 config false;
102 description "none";
103 }
104 description "Provides state attributes that are applicable to an entity that reflects operational aspects. Such an entity is expected to also have lifecycle aspects.";
105 }
106 container context {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800107 uses tapi-context;
108 presence "Root container for all TAPI interaction";
Toru Furusawa28988892017-10-30 17:28:40 -0700109 description "none";
110 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800111 grouping tapi-context {
Toru Furusawa28988892017-10-30 17:28:40 -0700112 list service-interface-point {
113 key 'uuid';
114 min-elements 2;
115 uses service-interface-point;
116 description "none";
117 }
118 uses global-class;
119 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).";
120 }
121 grouping resource-spec {
122 uses global-class;
123 description "none";
124 }
125 grouping service-spec {
126 uses global-class;
127 description "none";
128 }
129 grouping service-interface-point {
wu6a418d22018-02-02 01:49:21 -0500130 leaf-list layer-protocol-name {
131 type layer-protocol-name;
132 config false;
Toru Furusawa28988892017-10-30 17:28:40 -0700133 min-elements 1;
wu6a418d22018-02-02 01:49:21 -0500134 description "Usage of layerProtocolName [>1] in the ServiceInterfacePoint should be considered experimental";
Toru Furusawa28988892017-10-30 17:28:40 -0700135 }
136 uses resource-spec;
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800137 uses admin-state-pac;
138 uses capacity-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700139 description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers.
140 The structure of LTP supports all transport protocols including circuit and packet forms.";
141 }
142 grouping capacity-pac {
143 container total-potential-capacity {
144 config false;
145 uses capacity;
146 description "An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken.";
147 }
148 container available-capacity {
149 config false;
150 uses capacity;
151 description "Capacity available to be assigned.";
152 }
153 description "The TopologicalEntity derives capacity from the underlying realization.
154 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.
155 A TopologicalEntity may be directly used in the view or may be assigned to another view for use.
156 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.
157 Represents the capacity available to user (client) along with client interaction and usage.
158 A TopologicalEntity may reflect one or more client protocols and one or more members for each profile.";
159 }
wu6a418d22018-02-02 01:49:21 -0500160 grouping termination-pac {
161 leaf termination-direction {
162 type termination-direction;
163 config false;
164 description "The overall directionality of the LP.
165 - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.
166 - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows
167 - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";
168 }
169 leaf termination-state {
170 type termination-state;
171 config false;
172 description "Indicates whether the layer is terminated and if so how.";
173 }
174 description "Each transport layer is represented by a LayerProtocol (LP) instance. The LayerProtocol instances it can be used for controlling termination and monitoring functionality.
175 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.
176 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. ";
177 }
Toru Furusawa28988892017-10-30 17:28:40 -0700178
179 /***********************
180 * package type-definitions
181 **********************/
Toru Furusawa28988892017-10-30 17:28:40 -0700182 typedef administrative-state {
183 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500184 enum LOCKED {
Toru Furusawa28988892017-10-30 17:28:40 -0700185 description "Users are administratively prohibited from making use of the resource.";
186 }
wu6a418d22018-02-02 01:49:21 -0500187 enum UNLOCKED {
Toru Furusawa28988892017-10-30 17:28:40 -0700188 description "Users are allowed to use the resource";
189 }
190 }
191 description "The possible values of the administrativeState.";
192 }
193 typedef date-and-time {
194 type string;
195 description "This primitive type defines the date and time according to the following structure:
196 yyyyMMddhhmmss.s[Z|{+|-}HHMm] where:
197 yyyy 0000..9999 year
198 MM 01..12 month
199 dd 01..31 day
200 hh 00..23 hour
201 mm 00..59 minute
202 ss 00..59 second
203 s .0...9 tenth of second (set to .0 if EMS or NE cannot support this granularity)
204 Z Z indicates UTC (rather than local time)
205 {+|-} + or - delta from UTC
206 HH 00..23 time zone difference in hours
207 Mm 00..59 time zone difference in minutes.";
208 }
209 typedef directive-value {
210 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500211 enum MINIMIZE {
Toru Furusawa28988892017-10-30 17:28:40 -0700212 description "none";
213 }
wu6a418d22018-02-02 01:49:21 -0500214 enum MAXIMIZE {
Toru Furusawa28988892017-10-30 17:28:40 -0700215 description "none";
216 }
wu6a418d22018-02-02 01:49:21 -0500217 enum ALLOW {
Toru Furusawa28988892017-10-30 17:28:40 -0700218 description "none";
219 }
wu6a418d22018-02-02 01:49:21 -0500220 enum DISALLOW {
Toru Furusawa28988892017-10-30 17:28:40 -0700221 description "none";
222 }
wu6a418d22018-02-02 01:49:21 -0500223 enum DONT_CARE {
Toru Furusawa28988892017-10-30 17:28:40 -0700224 description "none";
225 }
226 }
227 description "none";
228 }
229 typedef forwarding-direction {
230 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500231 enum BIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700232 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)";
233 }
wu6a418d22018-02-02 01:49:21 -0500234 enum UNIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700235 description "The Forwarding entity has Ports that are either INPUT or OUTPUT. It has no BIDIRECTIONAL Ports.";
236 }
wu6a418d22018-02-02 01:49:21 -0500237 enum UNDEFINED_OR_UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700238 description "Not a normal state. The system is unable to determine the correct value.";
239 }
240 }
241 description "The directionality of a Forwarding entity.";
242 }
243 typedef layer-protocol-name {
wu6a418d22018-02-02 01:49:21 -0500244 type enumeration {
245 enum OTSiA {
246 description "Models the OTSiA layer as per ITU-T G.872 (2017) version 4";
247 }
248 enum OCH {
249 description "Models the legacy OCH layer as per ITU-T G.872";
250 }
251 enum OTU {
252 description "Models the OTU layer as per ITU-T G.872";
253 }
254 enum ODU {
255 description "Models the ODU layer as per ITU-T G.872";
256 }
257 enum ETH {
258 description "Models the ETH layer as per ITU-T G.8010";
259 }
260 enum ETY {
261 description "Models the ETY layer as per ITU-T G.8010";
262 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -0800263 enum DSR {
264 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.";
265 }
Toru Furusawa28988892017-10-30 17:28:40 -0700266 }
267 description "Provides a controlled list of layer protocol names and indicates the naming authority.
268 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.
269 Layer protocol names include:
270 - Layer 1 (L1): OTU, ODU
271 - Layer 2 (L2): Carrier Grade Ethernet (ETY, ETH), MPLS-TP (MT)
272 ";
273 }
274 typedef lifecycle-state {
275 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500276 enum PLANNED {
Toru Furusawa28988892017-10-30 17:28:40 -0700277 description "The resource is planned but is not present in the network.";
278 }
wu6a418d22018-02-02 01:49:21 -0500279 enum POTENTIAL_AVAILABLE {
Toru Furusawa28988892017-10-30 17:28:40 -0700280 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.
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700281 o When a potential resource is configured and allocated to a client it is moved to the installed state for that client.
282 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.";
Toru Furusawa28988892017-10-30 17:28:40 -0700283 }
wu6a418d22018-02-02 01:49:21 -0500284 enum POTENTIAL_BUSY {
285 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.
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700286 o When a potential resource is configured and allocated to a client it is moved to the installed state for that client.
287 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.";
wu6a418d22018-02-02 01:49:21 -0500288 }
289 enum INSTALLED {
Toru Furusawa28988892017-10-30 17:28:40 -0700290 description "The resource is present in the network and is capable of providing the service expected.";
291 }
wu6a418d22018-02-02 01:49:21 -0500292 enum PENDING_REMOVAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700293 description "The resource has been marked for removal";
294 }
295 }
296 description "The possible values of the lifecycleState.";
297 }
298 grouping name-and-value {
299 leaf value-name {
300 type string;
301 description "The name of the value. The value need not have a name.";
302 }
303 leaf value {
304 type string;
305 description "The value";
306 }
307 description "A scoped name-value pair";
308 }
309 typedef operational-state {
310 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500311 enum DISABLED {
Toru Furusawa28988892017-10-30 17:28:40 -0700312 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.";
313 }
wu6a418d22018-02-02 01:49:21 -0500314 enum ENABLED {
Toru Furusawa28988892017-10-30 17:28:40 -0700315 description "The resource is partially or fully operable and available for use";
316 }
317 }
318 description "The possible values of the operationalState.";
319 }
320 typedef port-direction {
321 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500322 enum BIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700323 description "The Port has both an INPUT flow and an OUTPUT flow defined.";
324 }
wu6a418d22018-02-02 01:49:21 -0500325 enum INPUT {
Toru Furusawa28988892017-10-30 17:28:40 -0700326 description "The Port only has definition for a flow into the Forwarding entity (i.e. an ingress flow).";
327 }
wu6a418d22018-02-02 01:49:21 -0500328 enum OUTPUT {
Toru Furusawa28988892017-10-30 17:28:40 -0700329 description "The Port only has definition for a flow out of the Forwarding entity (i.e. an egress flow).";
330 }
wu6a418d22018-02-02 01:49:21 -0500331 enum UNIDENTIFIED_OR_UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700332 description "Not a normal state. The system is unable to determine the correct value.";
333 }
334 }
335 description "The orientation of flow at the Port of a Forwarding entity";
336 }
337 typedef port-role {
338 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500339 enum SYMMETRIC {
Toru Furusawa28988892017-10-30 17:28:40 -0700340 description "none";
341 }
wu6a418d22018-02-02 01:49:21 -0500342 enum ROOT {
Toru Furusawa28988892017-10-30 17:28:40 -0700343 description "none";
344 }
wu6a418d22018-02-02 01:49:21 -0500345 enum LEAF {
Toru Furusawa28988892017-10-30 17:28:40 -0700346 description "none";
347 }
wu6a418d22018-02-02 01:49:21 -0500348 enum TRUNK {
Toru Furusawa28988892017-10-30 17:28:40 -0700349 description "none";
350 }
wu6a418d22018-02-02 01:49:21 -0500351 enum UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700352 description "none";
353 }
354 }
355 description "The role of an end in the context of the function of the forwarding entity that it bounds";
356 }
357 typedef termination-direction {
358 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500359 enum BIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700360 description "A Termination with both SINK and SOURCE flows.";
361 }
wu6a418d22018-02-02 01:49:21 -0500362 enum SINK {
Toru Furusawa28988892017-10-30 17:28:40 -0700363 description "The flow is up the layer stack from the server side to the client side.
364 Considering an example of a Termination function within the termination entity, a SINK flow:
365 - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component
366 - then will be decoded and deconstructed
367 - 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
368 A SINK termination is one that only supports a SINK flow.
369 A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";
370 }
wu6a418d22018-02-02 01:49:21 -0500371 enum SOURCE {
Toru Furusawa28988892017-10-30 17:28:40 -0700372 description "The flow is down the layer stack from the server side to the client side.
373 Considering an example of a Termination function within the termination entity, a SOURCE flow:
374 - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component
375 - then will be assembled with various overheads etc and will be coded
376 - 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
377 A SOURCE termination is one that only supports a SOURCE flow.
378 A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";
379 }
wu6a418d22018-02-02 01:49:21 -0500380 enum UNDEFINED_OR_UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700381 description "Not a normal state. The system is unable to determine the correct value.";
382 }
383 }
384 description "The directionality of a termination entity";
385 }
386 typedef termination-state {
387 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500388 enum LP_CAN_NEVER_TERMINATE {
Toru Furusawa28988892017-10-30 17:28:40 -0700389 description "A non-flexible case that can never be terminated.";
390 }
wu6a418d22018-02-02 01:49:21 -0500391 enum LT_NOT_TERMINATED {
Toru Furusawa28988892017-10-30 17:28:40 -0700392 description "A flexible termination that can terminate but is currently not terminated.";
393 }
wu6a418d22018-02-02 01:49:21 -0500394 enum TERMINATED_SERVER_TO_CLIENT_FLOW {
Toru Furusawa28988892017-10-30 17:28:40 -0700395 description "A flexible termination that is currently terminated for server to client flow only.";
396 }
wu6a418d22018-02-02 01:49:21 -0500397 enum TERMINATED_CLIENT_TO_SERVER_FLOW {
Toru Furusawa28988892017-10-30 17:28:40 -0700398 description "A flexible termination that is currently terminated for client to server flow only.";
399 }
wu6a418d22018-02-02 01:49:21 -0500400 enum TERMINATED_BIDIRECTIONAL {
Toru Furusawa28988892017-10-30 17:28:40 -0700401 description "A flexible termination that is currently terminated in both directions of flow.";
402 }
wu6a418d22018-02-02 01:49:21 -0500403 enum LT_PERMENANTLY_TERMINATED {
Toru Furusawa28988892017-10-30 17:28:40 -0700404 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).";
405 }
wu6a418d22018-02-02 01:49:21 -0500406 enum TERMINATION_STATE_UNKNOWN {
Toru Furusawa28988892017-10-30 17:28:40 -0700407 description "There TerminationState cannot be determined.";
408 }
409 }
410 description "Provides support for the range of behaviours and specific states that an LP can take with respect to termination of the signal.
411 Indicates to what degree the LayerTermination is terminated.";
412 }
413 typedef uuid {
414 type string;
415 description "The univeral ID value where the mechanism for generation is defned by some authority not directly referenced in the structure.
416 UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters.
417 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}
418 Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
419 }
420 grouping capacity {
421 container total-size {
422 uses capacity-value;
423 description "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate.";
424 }
425 container bandwidth-profile {
426 uses bandwidth-profile;
427 description "none";
428 }
429 description "Information on capacity of a particular TopologicalEntity.";
430 }
431 grouping bandwidth-profile {
432 leaf bw-profile-type {
433 type bandwidth-profile-type;
434 description "none";
435 }
436 container committed-information-rate {
437 uses capacity-value;
438 description "none";
439 }
440 container committed-burst-size {
441 uses capacity-value;
442 description "none";
443 }
444 container peak-information-rate {
445 uses capacity-value;
446 description "none";
447 }
448 container peak-burst-size {
449 uses capacity-value;
450 description "none";
451 }
452 leaf color-aware {
453 type boolean;
454 description "none";
455 }
456 leaf coupling-flag {
457 type boolean;
458 description "none";
459 }
460 description "none";
461 }
462 grouping capacity-value {
463 leaf value {
464 type uint64;
465 description "none";
466 }
467 leaf unit {
468 type capacity-unit;
469 description "none";
470 }
471 description "The Capacity (Bandwidth) values that are applicable for digital layers.";
472 }
473 typedef capacity-unit {
474 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500475 enum TB {
476 description "Indicates that the integer CapacityValue is in TeraBytes";
477 }
478 enum TBPS {
479 description "Indicates that the integer CapacityValue is in Terabit-per-second";
480 }
481 enum GB {
482 description "Indicates that the integer CapacityValue is in GigaBytes";
483 }
484 enum GBPS {
Toru Furusawa28988892017-10-30 17:28:40 -0700485 description "Indicates that the integer CapacityValue is in Gigabit-per-second";
486 }
wu6a418d22018-02-02 01:49:21 -0500487 enum MB {
488 description "Indicates that the integer CapacityValue is in MegaBytes";
489 }
490 enum MBPS {
Toru Furusawa28988892017-10-30 17:28:40 -0700491 description "Indicates that the integer CapacityValue is in Megabit-per-second";
492 }
wu6a418d22018-02-02 01:49:21 -0500493 enum KB {
494 description "Indicates that the integer CapacityValue is in KiloBytes";
495 }
496 enum KBPS {
Toru Furusawa28988892017-10-30 17:28:40 -0700497 description "Indicates that the integer CapacityValue is in Kilobit-per-second";
498 }
499 }
500 description "none";
501 }
502 typedef bandwidth-profile-type {
503 type enumeration {
wu6a418d22018-02-02 01:49:21 -0500504 enum MEF_10.x {
Toru Furusawa28988892017-10-30 17:28:40 -0700505 description "none";
506 }
wu6a418d22018-02-02 01:49:21 -0500507 enum RFC_2697 {
Toru Furusawa28988892017-10-30 17:28:40 -0700508 description "none";
509 }
wu6a418d22018-02-02 01:49:21 -0500510 enum RFC_2698 {
Toru Furusawa28988892017-10-30 17:28:40 -0700511 description "none";
512 }
wu6a418d22018-02-02 01:49:21 -0500513 enum RFC_4115 {
Toru Furusawa28988892017-10-30 17:28:40 -0700514 description "none";
515 }
516 }
517 description "none";
518 }
519 grouping time-range {
520 leaf end-time {
521 type date-and-time;
522 description "none";
523 }
524 leaf start-time {
525 type date-and-time;
526 description "none";
527 }
528 description "none";
529 }
530
531 /***********************
532 * package interfaces
533 **********************/
534 rpc get-service-interface-point-details {
535 description "none";
536 input {
537 leaf sip-id-or-name {
538 type string;
539 description "none";
540 }
541 }
542 output {
543 container sip {
544 uses service-interface-point;
545 description "none";
546 }
547 }
548 }
549 rpc get-service-interface-point-list {
550 description "none";
551 output {
552 list sip {
553 uses service-interface-point;
554 description "none";
555 }
556 }
557 }
558 rpc update-service-interface-point {
559 description "none";
560 input {
561 leaf sip-id-or-name {
562 type string;
563 description "none";
564 }
565 leaf state {
566 type administrative-state;
567 description "none";
568 }
569 }
570 }
571
572}