X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=ordmodels%2Fcommon%2Fsrc%2Fmain%2Fyang%2Forg-openroadm-common-node-types%402021-05-28.yang;fp=ordmodels%2Fcommon%2Fsrc%2Fmain%2Fyang%2Forg-openroadm-common-node-types%402021-05-28.yang;h=9812e680bb5d96c76205ff6a55177955a5761c26;hb=5e3f7dd89cb088ef4957f5559a82b8c6436afa17;hp=0000000000000000000000000000000000000000;hpb=1e2f9a502de80450411761fd2f636e2b7ee32301;p=transportpce.git diff --git a/ordmodels/common/src/main/yang/org-openroadm-common-node-types@2021-05-28.yang b/ordmodels/common/src/main/yang/org-openroadm-common-node-types@2021-05-28.yang new file mode 100644 index 000000000..9812e680b --- /dev/null +++ b/ordmodels/common/src/main/yang/org-openroadm-common-node-types@2021-05-28.yang @@ -0,0 +1,162 @@ +module org-openroadm-common-node-types { + namespace "http://org/openroadm/common-node-types"; + prefix org-openroadm-common-node-types; + + organization + "Open ROADM MSA"; + contact + "OpenROADM.org"; + description + "YANG definitions of common node types. + + 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-05-28 { + description + "Version 9.1"; + } + revision 2020-12-11 { + description + "Version 8.1"; + } + revision 2019-11-29 { + description + "Version 6.1.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"; + } + + typedef node-types { + type enumeration { + enum rdm { + value 1; + } + enum xpdr { + value 2; + } + enum ila { + value 3; + } + enum extplug { + value 4; + } + } + description + "Identifier for node type + 1. rdm for ROADM + 2. xpdr for Transponder, Regen + 3. ila for in-line amplifier + 4. extplug for external pluggable"; + } + + typedef node-subtypes { + type enumeration { + enum none { + value 1; + description + "The none-enum indicates there is no node-subtype refinement. + Standard OpenROADM node properties apply in this case. If an + optional-leaf of node-subtypes is not present, the behaviour is the + same as the none-enum."; + } + enum edge-optical-spec { + value 2; + description + "This enum refines a ROADM node-type. It indicates that node conforms + to edge optical specifications as defined in the OpenROADM MSA + Specification: MW-MW(Edge), MW-Wr(Edge), and Local Control (Edge)."; + } + } + description + "Identifier for node-subtype. Provides refinement of node-type."; + } + + typedef xpdr-node-types { + type enumeration { + enum tpdr { + value 1; + } + enum mpdr { + value 2; + } + enum switch { + value 3; + } + enum regen { + value 4; + } + enum regen-uni { + value 5; + } + } + description + "Identifier for Xponder node type + 1. Transponder + 2. Muxponder + 3. OTN switchponder + 4. Regenerator + 5. Regenerator based on unidirectional model + + Xponder types are modeled in one of two ways: + + Type 1: The xponder ports are configured with port-qual of xpdr-client or +xpdr-network, the xponder connectivity is advertised using connection-map, and +no explicit cross connects are provisioned. + + Type 2: The xponder ports are configured with port-qual of switch-network +or switch-client, the connectivity is advertised using switching-pool, and +explicit cross connects are provisioned. + + Type 1 applies to transponders, unidirectional regenerators, and bidirectional regenerators. + Type 2 applies to muxponders and switchponders."; + } + + typedef node-id-type { + type string { + length "7..63"; + pattern '([a-zA-Z][a-zA-Z0-9-]{5,61}[a-zA-Z0-9])' { + error-message + "A node-id must be 7 to 63 characters in length. + A node-id can contain letters, numbers, and hyphens. + The first character must be a letter. + The last character must be a letter or number."; + } + } + description + "Globally unique identifier for a device."; + } +}