Bump netconf dependencies to Al SR2
[transportpce.git] / ordmodels / network / src / main / yang / org-openroadm-network@2020-05-29.yang
1 module org-openroadm-network {
2   yang-version 1.1;
3   namespace "http://org/openroadm/network";
4   prefix net;
5
6   import ietf-network {
7     prefix nd;
8     revision-date 2018-02-26;
9   }
10   import org-openroadm-network-types {
11     prefix nt;
12     revision-date 2020-05-29;
13   }
14   import org-openroadm-roadm {
15     prefix roadm;
16     revision-date 2019-11-29;
17   }
18   import org-openroadm-external-pluggable {
19     prefix plg;
20     revision-date 2020-05-29;
21   }
22   import org-openroadm-xponder {
23     prefix xpdr;
24     revision-date 2020-05-29;
25   }
26   import ietf-inet-types {
27     prefix inet;
28     revision-date 2013-07-15;
29   }
30   import org-openroadm-common-types {
31     prefix org-openroadm-common-types;
32     revision-date 2020-05-29;
33   }
34   import org-openroadm-common-network {
35     prefix cnet;
36     revision-date 2020-05-29;
37   }
38
39   organization
40     "OPEN ROADM MSA";
41   contact
42     "www.OpenROADM.org.";
43   description
44     "Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
45      All other rights reserved.
46
47      Redistribution and use in source and binary forms, with or without modification,
48      are permitted provided that the following conditions are met:
49
50      * Redistributions of source code must retain the above copyright notice, this
51        list of conditions and the following disclaimer.
52      * Redistributions in binary form must reproduce the above copyright notice,
53        this list of conditions and the following disclaimer in the documentation and/or
54        other materials provided with the distribution.
55      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
56        contributors may be used to endorse or promote products derived from this software
57        without specific prior written permission.
58
59      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
60      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
61      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
62      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
63      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
64      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
65      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
66      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
67      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
68      POSSIBILITY OF SUCH DAMAGE.";
69
70   revision 2020-05-29 {
71     description
72       "Version 7.1.0";
73   }
74   revision 2020-03-27 {
75     description
76       "Version 7.0.0";
77   }
78   revision 2019-11-29 {
79     description
80       "Version 6.1.0";
81   }
82   revision 2019-09-27 {
83     description
84       "Version 6.0.0";
85   }
86   revision 2019-05-31 {
87     description
88       "Version 5.1.0";
89   }
90   revision 2019-03-29 {
91     description
92       "Version 5.0.0";
93   }
94   revision 2018-11-30 {
95     description
96       "Version 4.1.0";
97   }
98   revision 2018-09-28 {
99     description
100       "Version 4.0.0";
101   }
102   revision 2018-05-30 {
103     description
104       "Version 3.1.0";
105   }
106   revision 2018-03-30 {
107     description
108       "Version 3.0.0";
109   }
110   revision 2017-12-15 {
111     description
112       "Version 2.2";
113   }
114   revision 2017-09-29 {
115     description
116       "Version 2.1";
117   }
118   revision 2017-07-28 {
119     description
120       "Version 2.0.1 - added revision-date to imports";
121   }
122   revision 2017-06-26 {
123     description
124       "Version 2.0";
125   }
126   revision 2016-10-14 {
127     description
128       "Version 1.2";
129   }
130
131   deviation "/nd:networks/nd:network/nd:node/cnet:node-type" {
132     deviate add {
133       must "(not /nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-network) or
134             (/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-network and
135             (../cnet:node-type = 'ROADM' or ../cnet:node-type = 'XPONDER' or ../cnet:node-type = 'EXT-PLUGGABLE'))" {
136           error-message "Invalid node type for openroadm-network";
137           description
138             "The valid node types in the ROADM network are XPONDER, EXT-PLUGGABLE and ROADM.";
139       }
140     }
141   }
142
143   augment "/nd:networks/nd:network/nd:network-types/cnet:openroadm-common-network" {
144     description
145       "Introduce new network type for the Open ROADM optical network";
146     container openroadm-network {
147       presence "indicates optical network of Open ROADMs";
148       description
149         "The presence of the container node indicates Open ROADM
150          network";
151     }
152   }
153
154   augment "/nd:networks/nd:network/nd:node" {
155     when '../nd:network-types/cnet:openroadm-common-network/net:openroadm-network';
156     description
157       "Augment the generic network node with Open ROADM attributes.";
158     leaf software-version {
159       type string;
160       description
161         "Vendor software version";
162     }
163     leaf openroadm-version {
164       type org-openroadm-common-types:openroadm-version-type;
165       description
166         "OpenROADM software version";
167     }
168     leaf vendor {
169       type string;
170       description
171         "Identifier of the supplier";
172     }
173     leaf model {
174       type string;
175       description
176         "Identifier of the supplier's equipment";
177     }
178     leaf domain-subnetwork {
179       type string;
180       description
181         "Specific Domain-Subnetwork in which the node resides";
182     }
183     leaf ip {
184       type inet:ip-address;
185       description
186         "IP address assigned to the node";
187     }
188     leaf relay-rack {
189       type string;
190       description
191         "Frame Identification Code (FIC)";
192     }
193     leaf shelf {
194       type string;
195     }
196     leaf node-connection-status {
197       type nt:openroadm-node-connection-status;
198     }
199     container roadm-attributes {
200       when "../cnet:node-type = 'ROADM'";
201       description
202         "Attributes for the ROADM Node.";
203       uses roadm:roadm-node-attributes;
204     }
205     container xpdr-attributes {
206       when "../cnet:node-type = 'XPONDER'";
207       uses xpdr:xpdr-node-attributes;
208     }
209     container pluggable-attributes {
210       when "../cnet:node-type = 'EXT-PLUGGABLE'";
211       uses plg:pluggable-node-attributes;
212     }
213     container plan-due-dates {
214       uses nt:node-due-date-list;
215     }
216     container node-maintenance-schedule {
217       uses nt:node-due-date-list;
218     }
219   }
220 }