+++ /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 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;
- }
- }
- description
- "3 digit identifier for node type
- 1. rdm for ROADM
- 2. xpdr for Transponder, Regen";
- }
-
- 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 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 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 reason for failure";
- }
- }
-
- 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;
- }
- }
- }
-
- 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;
- }
- }
- }
-
- typedef pm-direction {
- type enumeration {
- enum "tx" {
- value 1;
- }
- enum "rx" {
- value 2;
- }
- enum "bidirectional" {
- value 3;
- }
- enum "notApplicable" {
- value 4;
- }
- }
- }
-}