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