module org-openroadm-link { yang-version 1.1; namespace "http://org/openroadm/link"; prefix link; import ietf-network { prefix nd; revision-date 2018-02-26; } import org-openroadm-equipment-states-types { prefix org-openroadm-equipment-states-types; revision-date 2019-11-29; } import org-openroadm-common-link-types { prefix org-openroadm-common-link-types; revision-date 2019-11-29; } import org-openroadm-common-node-types { prefix org-openroadm-common-node-types; revision-date 2021-05-28; } import org-openroadm-amplifier { prefix org-openroadm-amplifier; revision-date 2021-09-24; } import org-openroadm-network-types { prefix org-openroadm-network-types; revision-date 2021-12-10; } import org-openroadm-common-network { prefix cnet; revision-date 2021-12-10; } organization "Open ROADM MSA"; contact "OpenROADM.org."; description "YANG definitions for an amplifier in Network Model Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2017, 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-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-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-17 { description "Version 2.0"; } grouping span-attributes { leaf auto-spanloss { type boolean; default "true"; description "Flag to enable/disable automatic spanloss measurement"; } leaf spanloss-base { type org-openroadm-common-link-types:ratio-dB; description "Baseline ROADM span loss measured and accepted during degree turn-up. May be re-set to current value after a fiber repair or change."; } leaf spanloss-current { type org-openroadm-common-link-types:ratio-dB; description "Current ROADM span loss measured and accepted during degree turn-up. Updated periodically if auto-spanloss is enabled."; } leaf spanloss-last-measured { type org-openroadm-common-link-types:ratio-dB; description "Last measured ROADM span loss, may or may not have been accepted and pushed to the NE."; } leaf engineered-spanloss { type org-openroadm-common-link-types:ratio-dB; description "ROADM span loss provided by an external system"; } uses org-openroadm-network-types:link-concatenation { augment link-concatenation { leaf fiber-type { type enumeration { enum smf { value 0; description "Single Mode Fiber"; } enum eleaf { value 1; description "ELEAF"; } enum oleaf { value 2; description "OLEAF"; } enum dsf { value 3; description "DSF"; } enum truewave { value 4; description "TRUEWAVE Reduced Slope"; } enum truewavec { value 5; description "TRUEWAVE Classic"; } enum nz-dsf { value 6; description "NZ-DSF"; } enum ull { value 7; description "Ultra Low Loss (ULL)"; } } } leaf pmd { type org-openroadm-common-link-types:fiber-pmd; description "Total PMD"; } leaf subject-to-high-SOP-changes { type boolean; description "identifies fibers that may experience high polarization rotation rates and which might be inadequate for some modulation format"; } } } uses org-openroadm-network-types:future-SRLGs { augment "future-SRLGs" { leaf-list SRLG-Id { type leafref { path "/nd:networks/nd:network/cnet:SRLG-list/cnet:SRLG-Id"; } } } } } grouping amplified-link-attributes { list amplified-link { key "section-elt-number"; description "defines the spans and the amplifier blocks of the amplified lines"; leaf section-elt-number { type uint16; description "Id of the section element (whether it's a Span or an Amp)"; } container section-element { choice section-element { case ila { container ila { uses org-openroadm-amplifier:amplifier-node-attributes; uses org-openroadm-network-types:type-variety-grp; leaf node-id { type org-openroadm-common-node-types:node-id-type; mandatory true; description "Node id corresponding to the amplifier "; } leaf administrative-state { type org-openroadm-equipment-states-types:admin-states; } } } case span { container span { uses link:span-attributes; leaf administrative-state { type org-openroadm-equipment-states-types:admin-states; } } } } } } } }