+++ /dev/null
-module org-openroadm-common-types {
- namespace "http://org/openroadm/common-types";
- prefix org-openroadm-common-types;
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org";
- description
- "YANG definitions of common types.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
- AT&T Intellectual Property. 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 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- grouping physical-location {
- leaf rack {
- type string;
- mandatory false;
- }
- leaf shelf {
- type string;
- mandatory false;
- }
- leaf slot {
- type string;
- mandatory false;
- }
- leaf subSlot {
- type string;
- mandatory false;
- }
- }
-
- 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 plugable";
- }
-
- typedef node-id-type {
- type string {
- length "7..63";
- pattern "([a-zA-Z][a-zA-Z0-9-]{5,18}[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 identifer for a device.";
- }
-
- 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";
- }
-
- typedef frequency-THz {
- description
- "Frequency value in THz.";
- type decimal64 {
- fraction-digits 8;
- }
- units "THz";
- }
-
- typedef frequency-GHz {
- description
- "Frequency value in GHz.";
- type decimal64 {
- fraction-digits 5;
- }
- units "GHz";
- }
-
- typedef power-dBm {
- description
- "Power value in dBm.";
- type decimal64 {
- fraction-digits 2;
- }
- units "dBm";
- }
-
- typedef ratio-dB {
- description
- "Power ratio in dB.";
- type decimal64 {
- fraction-digits 3;
- }
- units "dB";
- }
-
- typedef fiber-pmd {
- description
- "Polarization Mode Dispersion expressed in ps/km(1/2).";
- type decimal64 {
- fraction-digits 2;
- }
- units "ps/(km[1/2])";
- }
-
- typedef amplifier-types {
- type enumeration {
- enum "standard" {
- value 1;
- }
- }
- description
- "identifier for amplifier type
- 1. standard for amplifier as defined initially in the ROADM MSA specifications
- To be completed if/when additional amplifier types are required ";
- }
-
- typedef line-amplifier-control-mode {
- description
- "Identifies the line amplifier control mode, either off or gain.";
- type enumeration {
- enum "gainLoss" {
- value 2;
- }
- enum "off" {
- value 3;
- }
- }
- }
-
- typedef amplifier-gain-range {
- description
- "Operational mode for the amplifier:
- this parameter allows modeling different operational modes (gain ranges) ,notably for switched-gain amplifiers.
- It indicates which performance model shall be used by the path feasibility engine.
- For standard amplifier, or when performance evaluation is based on incremental noise, use gain-range-1.
- When performance evaluation is based on advanced parameters, specify used gain-range (1 to 4).
- Up to release 2.1, only gain-range-1 is to be used (default value) ";
- type enumeration {
- enum "gain-range-1" {
- value 1;
- }
- enum "gain-range-2" {
- value 2;
- }
- enum "gain-range-3" {
- value 3;
- }
- enum "gain-range-4" {
- value 4;
- }
- }
- }
-
- typedef severity {
- description
- "Severity, based on X.733 perceived severity";
- type enumeration {
- enum "critical" {
- value 1;
- }
- enum "major" {
- value 2;
- }
- enum "minor" {
- value 3;
- }
- enum "warning" {
- value 4;
- }
- enum "clear" {
- value 5;
- }
- enum "indeterminate" {
- value 6;
- }
- }
- }
-
- typedef activate-notification-type {
- description
- "Type of notification on software or database activation events";
- type enumeration {
- enum "activate" {
- value 1;
- description
- "software or database activation";
- }
- enum "commit" {
- value 2;
- description
- "commit the software or database.
- For software activate, this event can happen in the following scenarios:
- 1) immediately when user issue db-activate command without rollBackTimer
- or if the rollBackTimer is specified as 00-00-00;
- 2) when user issue cancel-rollback-timer before it expires and with accept=true.
- For database activate, this event can occur in the following scenarios:
- 1) immediately when user issue db-activate command without rollBackTimer
- or if the rollBackTimer is specified as 00-00-00;
- 2) when user issue cancel-rollback-timer before it expires and with accept=true.";
- }
- enum "cancel" {
- value 3;
- description
- "cancel the database or software activation operation.
- For software activate, this event can happen in the following cases:
- 1) when the rollBackTimer expires;
- 2) when the user issues cancel-rollback-timer with accept=false.
- For database activate, this event can happen in the following cases:
- 1) when the rollBackTimer expires;
- 2) when the user issues cancel-rollback-timer with accept=false.";
- }
- }
- }
-
- typedef rpc-status {
- description
- "status of RPC ";
- type enumeration {
- enum "Successful" {
- value 1;
- }
- enum "Failed" {
- value 2;
- }
- }
- }
-
- grouping rpc-response-status {
- leaf status {
- type rpc-status;
- mandatory true;
- description
- "Successful or Failed";
- }
- leaf status-message {
- type string;
- description
- "Gives a more detailed status";
- }
- }
-
- typedef extended-rpc-status {
- description
- "status of RPC ";
- type enumeration {
- enum "Successful" {
- value 1;
- }
- enum "Failed" {
- value 2;
- }
- enum "In-progress" {
- value 3;
- }
- }
- }
-
- grouping extended-rpc-response-status {
- leaf status {
- type extended-rpc-status;
- mandatory true;
- description
- "Successful, Failed or In-progress";
- }
- leaf status-message {
- type string;
- description
- "Gives a more detailed status.";
- }
- }
-
- typedef lifecycle-state {
- description
- "Lifecycle state.";
- type enumeration {
- enum "deployed" {
- value 1;
- }
- enum "planned" {
- value 2;
- }
- enum "maintenance" {
- value 3;
- }
- enum "deploying" {
- value 4;
- }
- enum "undeploying" {
- value 5;
- }
- enum "undeployed" {
- value 6;
- }
- enum "proposed" {
- value 7;
- }
- enum "draft" {
- value 8;
- }
- }
- }
-
- typedef state {
- description
- "State that indicates whether the resource is able to provide fullfill its role - carry traffic, etc.";
- type enumeration {
- enum "inService" {
- value 1;
- }
- enum "outOfService" {
- value 2;
- }
- enum "degraded" {
- value 3;
- }
- }
- }
-
- typedef optic-types {
- type enumeration {
- enum "gray" {
- value 1;
- }
- enum "dwdm" {
- value 2;
- }
- }
- }
-
- grouping equipment-type {
- leaf type {
- type equipment-type-enum;
- mandatory true;
- config false;
- }
- leaf extension {
- description
- "Populated with equipment type when enum value is set to vendorExtension";
- type string;
- mandatory false;
- config false;
- }
- }
-
- typedef equipment-type-enum {
- type enumeration {
- enum "other" {
- value 1;
- }
- enum "powerSupply" {
- value 2;
- }
- enum "shelfProcessor" {
- value 3;
- }
- enum "crossConnect" {
- value 4;
- }
- enum "fan" {
- value 5;
- }
- enum "accessPanel" {
- value 6;
- }
- enum "circuitPack" {
- value 7;
- }
- }
- }
-
- typedef optical-control-mode {
- description
- "Optical Control Mode: identifies specific algorithm related to power management and general optical control.";
- type enumeration {
- enum "power" {
- value 1;
- }
- enum "gainLoss" {
- value 2;
- }
- enum "off" {
- value 3;
- }
- }
- reference "openroadm.org: Open ROADM MSA Specification.";
- }
-
- typedef direction {
- type enumeration {
- enum "tx" {
- value 1;
- }
- enum "rx" {
- value 2;
- }
- enum "bidirectional" {
- value 3;
- }
- enum "notApplicable" {
- value 4;
- }
- }
- }
-
- typedef location {
- type enumeration {
- enum "notApplicable" {
- value 1;
- }
- enum "nearEnd" {
- value 2;
- }
- enum "farEnd" {
- value 3;
- }
- }
- }
-
- typedef wavelength-duplication-type {
- description
- "One per srg is applied to C/D add/drop group
- one per degree is applied to C/D/C add drop group";
- type enumeration {
- enum "one-per-srg" {
- description
- "The SRG cannot handle wavelength duplication. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will result in failure.";
- value 1;
- }
- enum "one-per-degree" {
- description
- "The SRG can handle wavelength duplication, but only one per degree. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will succeed, so long as the connections are not using the same degree.";
- value 2;
- }
- }
- }
-
- typedef port-qual {
- type enumeration {
- enum "roadm-internal" {
- value 1;
- }
- enum "roadm-external" {
- value 2;
- }
- enum "xpdr-network" {
- value 3;
- }
- enum "xpdr-client" {
- value 4;
- }
- enum "otdr" {
- value 5;
- }
- enum "switch-network" {
- value 6;
- }
- enum "switch-client" {
- value 7;
- }
- enum "ila-external" {
- value 8;
- }
- enum "ila-internal" {
- value 9;
- }
- }
- }
-
- identity och-rate-identity {
- description
- "A unique och rate identification";
- }
-
- identity R200G {
- base och-rate-identity;
- description
- "Identity for 200G Rate";
- }
-
- identity R100G {
- base och-rate-identity;
- description
- "Identity for 100G Rate";
- }
-
- identity R10.7G {
- base och-rate-identity;
- description
- "Identity for 10.7G Rate";
- }
-
- identity R11.1G {
- base och-rate-identity;
- description
- "Identity for 11.1G Rate";
- }
-
- typedef modulation-format {
- type enumeration {
- enum "bpsk" {
- value 0;
- description
- "binary phase-shift keying";
- }
- enum "dc-dp-bpsk" {
- value 1;
- description
- "DC dual-polarization binary phase-shift keying";
- }
- enum "qpsk" {
- value 2;
- description
- "quadrature phase-shift keying";
- }
- enum "dp-qpsk" {
- value 3;
- description
- "dual-polarization binary phase-shift keying";
- }
- enum "qam16" {
- value 4;
- description
- "quadrature amplitude modulation 16";
- }
- enum "dp-qam16" {
- value 5;
- description
- "dual-polarization quadrature amplitude modulation 16";
- }
- enum "dc-dp-qam16" {
- value 6;
- description
- "DC dual-polarization quadrature amplitude modulation 16";
- }
- enum "qam8" {
- value 7;
- description
- "quadrature amplitude modulation 8";
- }
- enum "dp-qam8" {
- value 8;
- description
- "dual-polarization quadrature amplitude modulation 8";
- }
- enum "dc-dp-qam8" {
- value 9;
- description
- "DC dual-polarization quadrature amplitude modulation 8";
- }
- }
- description
- "Modulation format";
- }
-}