add pceOtnNodeTest class
[transportpce.git] / api / src / main / yang / transportpce-portmapping@2020-01-28.yang
1 module transportpce-portmapping {
2   yang-version 1;
3   namespace "http://org/opendaylight/transportpce/portmapping";
4   prefix org-opendaylight-transportpce-portmapping;
5
6   import org-openroadm-common-types {
7     prefix org-openroadm-common-types;
8     revision-date 2018-10-19;
9   }
10   import org-openroadm-switching-pool-types {
11     prefix org-openroadm-switching-pool-types;
12     revision-date 2017-12-15;
13   }
14   import org-openroadm-port-types {
15     prefix org-openroadm-port-types;
16     revision-date 2018-10-19;
17   }
18   import ietf-inet-types {
19     prefix ietf-inet-types;
20     revision-date 2013-07-15;
21   }
22
23   organization
24     "transportPCE";
25   contact
26     "transportPCE committers - ODL";
27   description
28     "YANG definitions of RPCs supported by OLM. Copyright (c) 2017
29      AT&T and others. All rights reserved. authors: Dhruv Bhardwaj
30      ( db929a@att.com ) Shweta Vachhani ( sv111y@att.com )";
31
32   revision 2020-01-28 {
33     description
34       "Add necessary parameters to consolidate OTN
35        and address ONAP MDONS use case";
36   }
37   revision 2020-01-13 {
38     description
39       "Add OTN data from device and necessary
40        to build node inside otn topology";
41   }
42   revision 2019-11-15 {
43     description
44       "OTN support";
45   }
46   revision 2019-07-02 {
47     description
48       "Version 2. To manage device 2.2.1";
49   }
50   revision 2017-02-28 {
51     description
52       "Initial revision of port mapping model";
53   }
54
55   container network {
56     list nodes {
57       key "node-id";
58       leaf node-id {
59         type string;
60         description
61           "Unique identifier for node in the network";
62       }
63       container node-info {
64         leaf node-type {
65           type org-openroadm-common-types:node-types;
66           description
67             "Identifier for node-type e.g Roadm, xponder";
68         }
69         leaf openroadm-version {
70           type enumeration {
71             enum 1.2.1 {
72               value 1;
73               description
74                 "Version 1.2.1";
75             }
76             enum 2.2.1 {
77               value 2;
78               description
79                 "Version 2.2.1";
80             }
81           }
82         }
83         leaf node-clli {
84           type string;
85           description
86             "Common Language Location Identifier.";
87         }
88         leaf node-vendor {
89           type string;
90           description
91             "Vendor of the equipment";
92         }
93         leaf node-model {
94           type string;
95           description
96             "Physical resource model information.";
97         }
98         leaf node-ip-address {
99           type ietf-inet-types:ip-address;
100           description
101             "Current IP Address of device";
102         }
103       }
104       list mapping {
105         key "logical-connection-point";
106         description
107           "Mapping for Physical circuit pack/port/parent interfaces corresponding
108            to each logical connection point present in the node.";
109         leaf logical-connection-point {
110           type string;
111         }
112         leaf supporting-circuit-pack-name {
113           type string;
114           description
115             "Circuit pack where the logical connection point is located";
116         }
117         leaf supporting-port {
118           type string;
119           description
120             "Port where the logical connection point is located";
121         }
122         leaf supporting-oms {
123           type string;
124           description
125             "OMS interface provisioned on the port";
126         }
127         leaf supporting-ots {
128           type string;
129           description
130             "OTS interface provisioned on the port";
131         }
132         leaf port-direction {
133           type string;
134           description
135             "Useful for line port of XPDR, for which there is no indication
136              in its logical-termination-point naming";
137         }
138         leaf port-qual {
139           type string;
140           description
141             "Useful to identify from portmapping client from network ports
142              of XPDR";
143         }
144         leaf supporting-ethernet {
145           type string;
146           description
147             "Ethernet interface provisioned on the port";
148         }
149         leaf supporting-odu4 {
150           type string;
151           description
152             "ODU4 interface provisioned on the port";
153         }
154         leaf rate {
155           type string;
156           description
157             "Rate supported by the port";
158         }
159         leaf-list supported-interface-capability {
160           type identityref {
161             base org-openroadm-port-types:supported-if-capability;
162           }
163         }
164         leaf xponder-type {
165           type org-openroadm-common-types:xpdr-node-types;
166         }
167         leaf connection-map-lcp {
168           type string;
169           description
170             "For XPDR, associate two logical-connection-points from device/connnection-map
171              data";
172         }
173         leaf partner-lcp {
174           type string;
175           description
176             "For XPDR unidirectional NETWORK port, associate two logical-connection-points
177              from device/partner port data";
178         }
179       }
180       list cp-to-degree {
181         key "circuit-pack-name";
182         description
183           "This mapping helps locate degree number of the circuitpack that
184            does lldp protocol management";
185         leaf circuit-pack-name {
186           type string;
187         }
188         leaf degree-number {
189           type uint32;
190         }
191         leaf interface-name {
192           type string;
193         }
194       }
195       list switching-pool-lcp {
196         key "switching-pool-number";
197         description
198           "For MUXPDR and SWITCH, associates from device/odu-switching-pools data, the logical-connection-points";
199         leaf switching-pool-number {
200           type uint16;
201           description
202             "Unique identifier for this odu-switching-pool";
203         }
204         leaf switching-pool-type {
205           type org-openroadm-switching-pool-types:switching-pool-types;
206         }
207         list non-blocking-list {
208           key "nbl-number";
209           leaf nbl-number {
210             type uint16;
211             description
212               "Identifier for this non-blocking-list. Unique within odu-switching-pool";
213           }
214           leaf interconnect-bandwidth-unit {
215             type uint32;
216             description
217               "Switch fabric interconnect bandwidth unit rate in bits per second.
218                Represents granularity of switch fabric";
219           }
220           leaf interconnect-bandwidth {
221             type uint32;
222             description
223               "Total interconnect bandwidth for a non-blocking element expressed as
224                number of inter-connect-bandwidth units : corresponds to capable-
225                inter-connect bandwidth";
226           }
227           leaf available-interconnect-bandwidth {
228             type uint32;
229             description
230               "Total interconnect bandwidth available for a non-blocking element can use as
231                number of inter-connect-bandwidth units";
232           }
233           leaf-list lcp-list {
234             type string;
235           }
236         }
237       }
238     }
239   }
240 }