Openroadm models update
[transportpce.git] / ordmodels / device / src / main / yang / org-openroadm-optical-transport-interfaces@2016-10-14.yang
1 module org-openroadm-optical-transport-interfaces {
2   namespace "http://org/openroadm/optical-transport-interfaces";
3   prefix org-openroadm-optical-transport-interfaces;
4
5   import org-openroadm-device {
6     prefix org-openroadm-device;
7   }
8   import org-openroadm-interfaces {
9     prefix openROADM-if;
10   }
11   import org-openroadm-common-types {
12     prefix org-openroadm-common-types;
13     revision-date 2016-10-14;
14   }
15
16   organization "Open ROADM MSA";
17   contact
18     "OpenROADM.org";
19   description
20     "This module contains YANG definitions
21      for the Optical Transport Interfaces.
22
23      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
24      AT&T Intellectual Property.  All other rights reserved.
25
26      Redistribution and use in source and binary forms, with or without modification,
27      are permitted provided that the following conditions are met:
28
29      * Redistributions of source code must retain the above copyright notice, this
30        list of conditions and the following disclaimer.
31      * Redistributions in binary form must reproduce the above copyright notice,
32        this list of conditions and the following disclaimer in the documentation and/or
33        other materials provided with the distribution.
34      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
35        contributors may be used to endorse or promote products derived from this software
36        without specific prior written permission.
37
38      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
39      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
40      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
41      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
42      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
43      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
44      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
45      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
47      POSSIBILITY OF SUCH DAMAGE.
48
49      Also contains code components extracted from IETF Interfaces.  These code components
50      are copyrighted and licensed as follows:
51
52      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
53      All rights reserved.
54
55      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
56      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
57      publication of this document. Please review these documents carefully, as they
58      describe your rights and restrictions with respect to this document. Code Components
59      extracted from this document must include Simplified BSD License text as described in
60      Section 4.e of the Trust Legal Provisions and are provided without warranty as
61      described in the Simplified BSD License.";
62
63   revision 2016-10-14 {
64     description
65       "Version 1.2";
66   }
67
68   grouping ots-attributes {
69     description
70       "Optical Transport Section (OTS) attributes";
71     leaf fiber-type {
72       type enumeration {
73         enum "smf" {
74           value 0;
75           description
76             "Single Mode Fiber";
77         }
78         enum "eleaf" {
79           value 1;
80           description
81             "ELEAF";
82         }
83         enum "oleaf" {
84           value 2;
85           description
86             "OLEAF";
87         }
88         enum "dsf" {
89           value 3;
90           description
91             "DSF";
92         }
93         enum "truewave" {
94           value 4;
95           description
96             "TRUEWAVE Reduced Slope";
97         }
98         enum "truewavec" {
99           value 5;
100           description
101             "TRUEWAVE Classic";
102         }
103         enum "nz-dsf" {
104           value 6;
105           description
106             "NZ-DSF";
107         }
108         enum "ull" {
109           value 7;
110           description
111             "Ultra Low Loss (ULL)";
112         }
113       }
114       default "smf";
115       description
116         "fiber type
117          Default    : SMF ";
118     }
119     leaf span-loss-receive {
120       description
121         "Span loss on the receiver side. Set by the controller and used by device to set AMP gain.";
122       type org-openroadm-common-types:ratio-dB;
123     }
124     leaf span-loss-transmit {
125       description
126         "Span loss on the transmitter side. Set by the controller and used by device to configure MSA compliant channel launch power";
127       type org-openroadm-common-types:ratio-dB;
128     }
129   }
130
131   grouping ots-container {
132     container ots {
133       description
134         "Optical Transport Section (OTS):
135           Models the optical interfaces for an Optical White Box.
136           The network side is represented by the OTS/OMS.";
137       uses ots-attributes;
138     }
139   }
140
141   augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface" {
142     when "org-openroadm-device:type = 'openROADM-if:opticalTransport'";
143     uses ots-container;
144   }
145 }