Update docs conf.yaml version to Sulfur
[transportpce.git] / ordmodels / network / src / main / yang / org-openroadm-network-topology-types@2020-12-11.yang
1 module org-openroadm-network-topology-types {
2   yang-version 1.1;
3   namespace "http://org/openroadm/network/topology/types";
4   prefix org-openroadm-network-topology-types;
5
6   import ietf-network {
7     prefix nd;
8     revision-date 2018-02-26;
9   }
10   import ietf-network-topology {
11     prefix nwt;
12     revision-date 2018-02-26;
13   }
14   import org-openroadm-switching-pool-types {
15     prefix org-openroadm-switching-pool-types;
16     revision-date 2019-11-29;
17   }
18   import org-openroadm-port-types {
19     prefix org-openroadm-port-types;
20     revision-date 2020-12-11;
21   }
22
23   organization
24     "OPEN ROADM MSA";
25   contact
26     "www.OpenROADM.org.";
27   description
28     "Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
29      All other rights reserved.
30
31      Redistribution and use in source and binary forms, with or without modification,
32      are permitted provided that the following conditions are met:
33
34      * Redistributions of source code must retain the above copyright notice, this
35        list of conditions and the following disclaimer.
36      * Redistributions in binary form must reproduce the above copyright notice,
37        this list of conditions and the following disclaimer in the documentation and/or
38        other materials provided with the distribution.
39      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
40        contributors may be used to endorse or promote products derived from this software
41        without specific prior written permission.
42
43      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
44      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
45      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
46      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
47      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
48      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
49      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
50      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
51      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
52      POSSIBILITY OF SUCH DAMAGE.";
53
54   revision 2020-12-11 {
55     description
56       "Version 8.1";
57   }
58   revision 2020-03-27 {
59     description
60       "Version 7.0.0";
61   }
62   revision 2019-11-29 {
63     description
64       "Version 6.1.0";
65   }
66   revision 2018-11-30 {
67     description
68       "Version 4.1.0";
69   }
70   revision 2017-12-15 {
71     description
72       "Version 2.2";
73   }
74
75   grouping xpdr-tp-bandwidth-sharing {
76     list tp-bandwidth-sharing {
77       key "tp-sharing-id";
78       leaf tp-sharing-id {
79         type uint16;
80       }
81       leaf-list tp-list {
82         type nwt:tp-id;
83       }
84       leaf shared-bandwidth {
85         type uint16;
86         units "Gbps";
87       }
88       list possible-tp-config {
89         key "config-id";
90         leaf config-id {
91           type uint16;
92         }
93         list tp-if-type-config {
94           key "tp-name";
95           leaf tp-name {
96             type leafref {
97               path "/nd:networks/nd:network/nd:node/nwt:termination-point/nwt:tp-id";
98             }
99             description
100               "termination-point identifier";
101           }
102           leaf-list tp-if-type {
103             type identityref {
104               base org-openroadm-port-types:supported-if-capability;
105             }
106           }
107           leaf otsi-rate {
108             type uint16;
109             units "Gbps";
110             description
111               "Optical Tributary Signal (OTSi) rate in Gbps";
112           }
113         }
114       }
115     }
116   }
117
118   grouping xpdr-odu-switching-pools {
119     list odu-switching-pools {
120       key "switching-pool-number";
121       leaf switching-pool-number {
122         type uint16;
123         description
124           "Unique identifier for this odu-switching-pool";
125       }
126       leaf switching-pool-type {
127         type org-openroadm-switching-pool-types:switching-pool-types;
128       }
129       list non-blocking-list {
130         key "nbl-number";
131         description
132           "List of ports in a non-blocking switch element";
133         leaf nbl-number {
134           type uint16;
135           description
136             "Identifier for this non-blocking-list. Unique within odu-switching-pool";
137         }
138         leaf interconnect-bandwidth-unit {
139           type uint32;
140           description
141             "Switch fabric interconnect bandwidth unit rate in bits per second.
142              Represents granularity of switch fabric";
143         }
144         leaf capable-interconnect-bandwidth {
145           type uint32;
146           description
147             "Total interconnect bandwidth for a non-blocking element expressed as
148              number of inter-connect-bandwidth units";
149         }
150         leaf available-interconnect-bandwidth {
151           type uint32;
152           description
153             "Total interconnect bandwidth available for a non-blocking element can use as
154              number of inter-connect-bandwidth units";
155         }
156         leaf-list tp-list {
157           type nwt:tp-id;
158           description
159             "Termination point. Unique within device";
160         }
161       }
162     }
163   }
164
165   grouping xpdr-otn-tail-attributes {
166     leaf tp-id {
167       type nwt:tp-id;
168     }
169     leaf network-ref {
170       type leafref {
171         path "/nd:networks/nd:network/nd:network-id";
172       }
173       description
174         "Used to reference a network, for example an underlay
175          network.";
176     }
177     leaf node-ref {
178       type leafref {
179         path "/nd:networks/nd:network[nd:network-id=current()/../network-ref]/nd:node/nd:node-id";
180       }
181       description
182         "Used to reference a node.
183          Nodes are identified relative to the network they are
184          contained in.";
185     }
186   }
187 }