Upgrade Network model from 2.1 to 4.1
[transportpce.git] / ordmodels / network / src / main / yang / org-openroadm-xponder@2018-11-30.yang
1 module org-openroadm-xponder {
2   yang-version 1.1;
3   namespace "http://org/openroadm/xponder";
4   prefix xpndr;
5
6   import org-openroadm-network-types {
7     prefix org-openroadm-network-types;
8     revision-date 2018-11-30;
9   }
10   import org-openroadm-common-equipment-types {
11     prefix org-openroadm-common-equipment-types;
12     revision-date 2018-11-30;
13   }
14   import org-openroadm-common-state-types {
15     prefix org-openroadm-common-state-types;
16     revision-date 2018-11-30;
17   }
18   import org-openroadm-common-optical-channel-types {
19     prefix org-openroadm-common-optical-channel-types;
20     revision-date 2018-11-30;
21   }
22   import org-openroadm-otn-common-types {
23     prefix org-openroadm-otn-common-types;
24     revision-date 2018-11-30;
25   }
26
27   organization
28     "OPEN ROADM MSA";
29   contact
30     "OpenROADM.org.";
31   description
32     "YANG definitions for xponder
33
34      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
35      All other rights reserved.
36
37      Redistribution and use in source and binary forms, with or without modification,
38      are permitted provided that the following conditions are met:
39
40      * Redistributions of source code must retain the above copyright notice, this
41        list of conditions and the following disclaimer.
42      * Redistributions in binary form must reproduce the above copyright notice,
43        this list of conditions and the following disclaimer in the documentation and/or
44        other materials provided with the distribution.
45      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
46        contributors may be used to endorse or promote products derived from this software
47        without specific prior written permission.
48
49      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
50      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
51      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
52      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
53      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
54      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
55      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
56      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
57      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
58      POSSIBILITY OF SUCH DAMAGE.";
59
60   revision 2018-11-30 {
61     description
62       "Version 4.1.0";
63   }
64   revision 2018-09-28 {
65     description
66       "Version 4.0.0";
67   }
68   revision 2018-05-30 {
69     description
70       "Version 3.1.0";
71   }
72   revision 2018-03-30 {
73     description
74       "Version 3.0.0";
75   }
76   revision 2017-12-15 {
77     description
78       "Version 2.2";
79   }
80   revision 2017-09-29 {
81     description
82       "Version 2.1";
83   }
84   revision 2017-07-28 {
85     description
86       "Version 2.0.1 - added revision-date to imports";
87   }
88   revision 2017-06-26 {
89     description
90       "Version 2.0";
91   }
92   revision 2016-10-14 {
93     description
94       "Version 1.2";
95   }
96
97   grouping xpdr-node-attributes {
98     leaf customer-code {
99       type string;
100       description
101         "Owner of the xponder";
102     }
103   }
104
105   grouping xpdr-topo-node-attributes {
106     leaf xpdr-number {
107       type uint16;
108     }
109   }
110
111   grouping xpdr-connection-attributes {
112     leaf local-lgx {
113       type string;
114     }
115     leaf rate {
116       type identityref {
117         base org-openroadm-common-optical-channel-types:och-rate-identity;
118       }
119       description
120         "rate";
121     }
122     leaf modulation-format {
123       type org-openroadm-common-optical-channel-types:modulation-format;
124     }
125     leaf optic {
126       type org-openroadm-common-equipment-types:optic-types;
127     }
128     leaf state {
129       type org-openroadm-common-state-types:state;
130       description
131         "A xponder can be in one of the following
132                  states";
133     }
134   }
135
136   grouping xpdr-port-connection-attributes {
137     container wavelength {
138       uses org-openroadm-network-types:flex-wave;
139     }
140     leaf tail-equipment {
141       type string;
142     }
143     leaf tail-equipment-id {
144       type string;
145     }
146     leaf tail-clfi {
147       type string;
148     }
149   }
150
151   grouping xpdr-otn-tp-attributes {
152     leaf rate {
153       type identityref {
154         base org-openroadm-otn-common-types:odu-rate-identity;
155       }
156       description
157         "rate identity of the ODU. 'identityref' is used
158          to allow to extend for future higher rates";
159     }
160     list odtu-tpn-pool {
161       key "odtu-type";
162       leaf odtu-type {
163         type identityref {
164           base org-openroadm-otn-common-types:odtu-type-identity;
165         }
166         description
167           "ODTU type, part of the MSI (Multiplex Structure Identifier)";
168       }
169       leaf-list tpn-pool {
170         type uint16;
171         description
172           "List of available Tributary Port Number (0-based), part of the MSI";
173       }
174     }
175     leaf-list ts-pool {
176       type uint16;
177       description
178         "List of available Tributary Slots used by port";
179     }
180   }
181 }