Update Renderer Module
[transportpce.git] / ordmodels / network / src / main / yang / org-openroadm-network@2017-09-29.yang
1 module org-openroadm-network {
2   namespace "http://org/openroadm/network";
3   prefix net;
4
5   import ietf-network {
6     prefix nd;
7     revision-date 2015-06-08;
8   }
9   import org-openroadm-network-types {
10     prefix nt;
11     revision-date 2017-09-29;
12   }
13   import org-openroadm-roadm {
14     prefix roadm;
15     revision-date 2017-09-29;
16   }
17   import org-openroadm-external-pluggable {
18     prefix plg;
19     revision-date 2017-09-29;
20   }
21   import org-openroadm-xponder {
22     prefix xpdr;
23     revision-date 2017-09-29;
24   }
25   import ietf-inet-types {
26     prefix inet;
27     revision-date 2013-07-15;
28   }
29
30   organization
31     "OPEN ROADM MSA";
32   contact
33     "www.OpenROADM.org.";
34   description
35     "Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
36      AT&T Intellectual Property.  All other rights reserved.
37
38      Redistribution and use in source and binary forms, with or without modification,
39      are permitted provided that the following conditions are met:
40
41      * Redistributions of source code must retain the above copyright notice, this
42        list of conditions and the following disclaimer.
43      * Redistributions in binary form must reproduce the above copyright notice,
44        this list of conditions and the following disclaimer in the documentation and/or
45        other materials provided with the distribution.
46      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
47        contributors may be used to endorse or promote products derived from this software
48        without specific prior written permission.
49
50      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
51      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
52      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
54      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
55      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
56      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
57      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
58      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
59      POSSIBILITY OF SUCH DAMAGE.";
60
61   revision 2017-09-29 {
62     description
63       "Version 2.1";
64   }
65   revision 2017-07-28 {
66     description
67       "Version 2.0.1 - added revision-date to imports";
68   }
69   revision 2017-06-26 {
70     description
71       "Version 2.0";
72   }
73   revision 2016-10-14 {
74     description
75       "Version 1.2";
76   }
77
78   augment "/nd:network/nd:network-types" {
79     description
80       "Introduce new network type for the Open ROADM optical network";
81     container openroadm-network {
82       presence "indicates optical network of Open ROADMs";
83       description
84         "The presence of the container node indicates Open ROADM
85          network";
86     }
87   }
88   augment "/nd:network/nd:node" {
89     when "../nd:network-types/openroadm-network";
90     description
91       "Augment the generic network node with Open ROADM attributes.";
92     leaf node-type {
93       type nt:openroadm-node-type;
94       description
95         "A component of the network topology.
96          Valid node types are XPONDER, EXT-PLUGGABLE and ROADM.
97          Once the node-type is configured, it should not be modified.";
98     }
99     leaf node-mount-status {
100       type nt:openroadm-node-mount-status;
101       description
102         "Mount status of a node";
103     }
104     leaf software-version {
105       type string;
106       description
107         "Vendor software version";
108     }
109     leaf openroadm-version {
110       type string;
111       description
112         "OpenROADM software version";
113     }
114     leaf vendor {
115       type string;
116       description
117         "Identifier of the supplier";
118     }
119     leaf model {
120       type string;
121       description
122         "Identifier of the supplier's equipment";
123     }
124     leaf domain-subnetwork {
125       type string;
126       description
127         "Specific Domain-Subnetwork in which the node resides";
128     }
129     leaf ip {
130       type inet:ip-address;
131       description
132         "IP address assigned to the node";
133     }
134     leaf relay-rack {
135       type string;
136       description
137         "Frame Identification Code (FIC)";
138     }
139     leaf shelf {
140       type string;
141     }
142     leaf node-status {
143       type nt:openroadm-node-status;
144     }
145     container roadm-attributes {
146       when "../node-type = 'ROADM'";
147       description
148         "Attributes for the ROADM Node.";
149       uses roadm:roadm-node-attributes;
150     }
151     container xpdr-attributes {
152       when "../node-type = 'XPONDER'";
153       uses xpdr:xpdr-node-attributes;
154     }
155     container pluggable-attributes {
156       when "../node-type = 'EXT-PLUGGABLE'";
157       uses plg:pluggable-node-attributes;
158     }
159     container plan-due-dates {
160       uses nt:node-due-date-list;
161     }
162     container node-maintenance-schedule {
163        uses nt:node-due-date-list;
164     }
165   }
166 }