+++ /dev/null
-module org-openroadm-network {
- yang-version 1.1;
- namespace "http://org/openroadm/network";
- prefix net;
-
- import ietf-network {
- prefix nd;
- revision-date 2018-02-26;
- }
- import org-openroadm-network-types {
- prefix nt;
- revision-date 2021-12-10;
- }
- import org-openroadm-roadm {
- prefix roadm;
- revision-date 2019-11-29;
- }
- import org-openroadm-external-pluggable {
- prefix plg;
- revision-date 2021-12-10;
- }
- import org-openroadm-xponder {
- prefix xpdr;
- revision-date 2021-12-10;
- }
- import ietf-inet-types {
- prefix inet;
- revision-date 2013-07-15;
- }
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2021-12-10;
- }
- import org-openroadm-common-network {
- prefix cnet;
- revision-date 2021-12-10;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "www.OpenROADM.org.";
- description
- "Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
- All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.";
-
- revision 2021-12-10 {
- description
- "Version 10.1";
- }
- revision 2021-09-24 {
- description
- "Version 10.0";
- }
- revision 2021-05-28 {
- description
- "Version 9.1";
- }
- revision 2021-03-26 {
- description
- "Version 9.0";
- }
- revision 2020-12-11 {
- description
- "Version 8.1";
- }
- revision 2020-09-25 {
- description
- "Version 8.0";
- }
- revision 2020-05-29 {
- description
- "Version 7.1.0";
- }
- revision 2020-03-27 {
- description
- "Version 7.0.0";
- }
- revision 2019-11-29 {
- description
- "Version 6.1.0";
- }
- revision 2019-09-27 {
- description
- "Version 6.0.0";
- }
- revision 2019-05-31 {
- description
- "Version 5.1.0";
- }
- revision 2019-03-29 {
- description
- "Version 5.0.0";
- }
- revision 2018-11-30 {
- description
- "Version 4.1.0";
- }
- revision 2018-09-28 {
- description
- "Version 4.0.0";
- }
- revision 2018-05-30 {
- description
- "Version 3.1.0";
- }
- revision 2018-03-30 {
- description
- "Version 3.0.0";
- }
- revision 2017-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- deviation "/nd:networks/nd:network/nd:node/cnet:node-type" {
- deviate add {
- must "(not /nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-network) or
- (/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-network and
- (../cnet:node-type = 'ROADM' or ../cnet:node-type = 'XPONDER' or ../cnet:node-type = 'EXT-PLUGGABLE'))" {
- error-message "Invalid node type for openroadm-network";
- description
- "The valid node types in the ROADM network are XPONDER, EXT-PLUGGABLE and ROADM.";
- }
- }
- }
-
- augment "/nd:networks/nd:network/nd:network-types/cnet:openroadm-common-network" {
- description
- "Introduce new network type for the Open ROADM optical network";
- container openroadm-network {
- presence "indicates optical network of Open ROADMs";
- description
- "The presence of the container node indicates Open ROADM
- network";
- }
- }
-
- augment "/nd:networks/nd:network/nd:node" {
- when '../nd:network-types/cnet:openroadm-common-network/net:openroadm-network';
- description
- "Augment the generic network node with Open ROADM attributes.";
- leaf software-version {
- type string;
- description
- "Vendor software version";
- }
- leaf openroadm-version {
- type org-openroadm-common-types:openroadm-version-type;
- description
- "OpenROADM software version";
- }
- leaf vendor {
- type string;
- description
- "Identifier of the supplier";
- }
- leaf model {
- type string;
- description
- "Identifier of the supplier's equipment";
- }
- leaf domain-subnetwork {
- type string;
- description
- "Specific Domain-Subnetwork in which the node resides";
- }
- leaf ip {
- type inet:ip-address;
- description
- "IP address assigned to the node";
- }
- leaf relay-rack {
- type string;
- description
- "Frame Identification Code (FIC)";
- }
- leaf shelf {
- type string;
- }
- leaf node-connection-status {
- type nt:openroadm-node-connection-status;
- }
- container roadm-attributes {
- when "../cnet:node-type = 'ROADM'";
- description
- "Attributes for the ROADM Node.";
- uses roadm:roadm-node-attributes;
- }
- container xpdr-attributes {
- when "../cnet:node-type = 'XPONDER'";
- uses xpdr:xpdr-node-attributes;
- }
- container pluggable-attributes {
- when "../cnet:node-type = 'EXT-PLUGGABLE'";
- uses plg:pluggable-node-attributes;
- }
- container plan-due-dates {
- uses nt:node-due-date-list;
- }
- container node-maintenance-schedule {
- uses nt:node-due-date-list;
- }
- }
-}