diff options
Diffstat (limited to 'sdnr/wt/common-yang')
4 files changed, 787 insertions, 0 deletions
diff --git a/sdnr/wt/common-yang/openroadm-pm-types/pom.xml b/sdnr/wt/common-yang/openroadm-pm-types/pom.xml new file mode 100755 index 000000000..aa8ebd306 --- /dev/null +++ b/sdnr/wt/common-yang/openroadm-pm-types/pom.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ ============LICENSE_START======================================================= + ~ ONAP : ccsdk features + ~ ================================================================================ + ~ Copyright (C) 2018 highstreet technologies GmbH Intellectual Property. + ~ All rights reserved. + ~ ================================================================================ + ~ Update Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + ~ ================================================================================ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + ~ ============LICENSE_END======================================================= + ~ + --> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.ccsdk.parent</groupId> + <artifactId>binding-parent</artifactId> + <version>2.2.0-SNAPSHOT</version> + <relativePath/> + </parent> + + <groupId>org.onap.ccsdk.features.sdnr.wt</groupId> + <artifactId>openroadm-pm-types</artifactId> + <version>1.2.0-SNAPSHOT</version> + <packaging>bundle</packaging> + + <name>ccsdk-features :: ${project.artifactId}</name> + <dependencies> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + </dependency> + </dependencies> +</project> diff --git a/sdnr/wt/common-yang/openroadm-pm-types/src/main/java/org/opendaylight/yang/gen/v1/http/org/openroadm/pm/types/rev191129/PmDataTypeBuilder.java b/sdnr/wt/common-yang/openroadm-pm-types/src/main/java/org/opendaylight/yang/gen/v1/http/org/openroadm/pm/types/rev191129/PmDataTypeBuilder.java new file mode 100644 index 000000000..f89197b82 --- /dev/null +++ b/sdnr/wt/common-yang/openroadm-pm-types/src/main/java/org/opendaylight/yang/gen/v1/http/org/openroadm/pm/types/rev191129/PmDataTypeBuilder.java @@ -0,0 +1,58 @@ +package org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev191129; + +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import java.math.BigDecimal; +import org.opendaylight.yangtools.yang.common.Uint64; + +/** + * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string + * representation. In some cases it is very difficult to automate it since there can be unions such as (uint32 - + * uint16), or (string - uint32). + * + * The reason behind putting it under src/main/java is: This class is generated in form of a stub and needs to be + * finished by the user. This class is generated only once to prevent loss of user code. + * + */ +@JsonPOJOBuilder(buildMethodName = "build", withPrefix = "set") +public class PmDataTypeBuilder { + private Uint64 _uint64; + private Long _int64; + private BigDecimal _decimal64; + + public PmDataTypeBuilder() {} + + //Aluminium uses constructor + public PmDataTypeBuilder(String v) { + this.setUint64(v); + } + + public PmDataTypeBuilder setUint64(String v) { + _uint64 = Uint64.valueOf(v); + return this; + } + + public PmDataTypeBuilder setInt64(String v) { + _int64 = Long.valueOf(v); + return this; + } + + public PmDataTypeBuilder setDecimal64(String v) { + _decimal64 = new BigDecimal(v); + return this; + } + + public PmDataType build() { + if (_uint64 != null) { + return new PmDataType(_uint64); + } else if (_int64 != null) { + return new PmDataType(_int64); + } else { + return new PmDataType(_decimal64); + } + } + + public static PmDataType getDefaultInstance(String defaultValue) { + return new PmDataTypeBuilder().setUint64(defaultValue).build(); + } + +} diff --git a/sdnr/wt/common-yang/openroadm-pm-types/src/main/yang/org-openroadm-pm-types@2019-11-29.yang b/sdnr/wt/common-yang/openroadm-pm-types/src/main/yang/org-openroadm-pm-types@2019-11-29.yang new file mode 100644 index 000000000..78dd8934e --- /dev/null +++ b/sdnr/wt/common-yang/openroadm-pm-types/src/main/yang/org-openroadm-pm-types@2019-11-29.yang @@ -0,0 +1,680 @@ +module org-openroadm-pm-types { + namespace "http://org/openroadm/pm-types"; + prefix org-openroadm-pm-types; + + organization + "Open ROADM MSA"; + contact + "OpenROADM.org"; + description + "YANG definitions of performance management 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 2019-11-29 { + description + "Version 6.1.0"; + } + revision 2019-03-29 { + description + "Version 5.0.0"; + } + revision 2018-11-30 { + description + "Version 4.1.0"; + } + revision 2017-12-15 { + description + "Version 2.2"; + } + revision 2017-09-29 { + description + "Version 2.1"; + } + revision 2017-06-26 { + description + "Version 2.0"; + } + revision 2016-10-14 { + description + "Version 1.2"; + } + + typedef pm-granularity { + type enumeration { + enum notApplicable { + value 1; + description + "This is for total statistic counters on devices that support + them."; + } + enum 15min { + value 2; + } + enum 24Hour { + value 3; + } + } + description + "Granularity of PM bin"; + } + + typedef pm-data-type { + type union { + type uint64; + type int64; + type decimal64 { + fraction-digits 2; + } + type decimal64 { + fraction-digits 17; + } + } + } + + typedef validity { + type enumeration { + enum complete { + value 1; + } + enum partial { + value 2; + } + enum suspect { + value 3; + } + } + description + "Validity of data"; + } + + typedef pm-names-enum { + type enumeration { + enum vendorExtension { + value 1; + description + "vendor extension"; + } + enum bitErrorRate { + value 2; + description + "Bit error rate (BER)"; + } + enum opticalPowerOutput { + value 3; + description + "Optical Power Output (OPOUT-OTS, OPOUT-OMS, OPT-OCH). Total optical power includes Variable Optical Attenuator (VOA) attenuation"; + } + enum opticalReturnLoss { + value 4; + description + "Optical Return Loss (ORL-OTS) - at MW port(s) B"; + } + enum opticalPowerInput { + value 5; + description + "Optical Power Input (OPIN-OTS, OPIN-OMS, OPR-OCH). Total optical power"; + } + enum codeViolations { + value 8; + description + "Code Violations (CV)"; + } + enum erroredSeconds { + value 9; + description + "Errored Seconds (ES)"; + } + enum severelyErroredSeconds { + value 10; + description + "Severely Errored Seconds (SES)"; + } + enum unavailableSeconds { + value 11; + description + "Unavailable Seconds (UAS)"; + } + enum inFrames { + value 12; + description + "In frames (INFRAMES-E)"; + } + enum inFramesErrored { + value 13; + description + "In frames errored (INFRAMESERR-E)"; + } + enum outFrames { + value 14; + description + "Out frames (OUTFRAMES-E)"; + } + enum erroredSecondsEthernet { + value 15; + description + "Errored Seconds Ethernet (ES-E)"; + } + enum severelyErroredSecondsEthernet { + value 16; + description + "Severely Errored Seconds, Ethernet (SES-E)"; + } + enum unavailableSecondsEthernet { + value 17; + description + "Unavailable Seconds, Ethernet (UAS-E)"; + } + enum erroredBlockCount { + value 18; + description + "Errored block count"; + } + enum delay { + value 19; + description + "Number of frames between a DMValue toggle event and the received DMp signal value toggle event"; + } + enum defectSeconds { + value 20; + description + "Defect Seconds (DS)"; + } + enum backwardIncomingAlignmentError { + value 21; + description + "Backward Incoming Alignment Error (BIAE)"; + } + enum incomingAlignmentError { + value 22; + description + "Incoming Alignment Error (IAE)"; + } + enum opticalPowerOutputMin { + value 23; + description + "Minimum Optical Power Output (OPOUT-OTS). Total optical power includes Variable Optical Attenuator (VOA) attenuation"; + } + enum opticalPowerOutputMax { + value 24; + description + "Maximum Optical Power Output (OPOUT-OTS). Total optical power includes Variable Optical Attenuator (VOA) attenuation"; + } + enum opticalPowerOutputAvg { + value 25; + description + "Average Optical Power Output (OPOUT-OTS). Total optical power includes Variable Optical Attenuator (VOA) attenuation"; + } + enum opticalPowerInputMin { + value 26; + description + "Minimum Optical Power Input (OPIN-OTS). Total optical power"; + } + enum opticalPowerInputMax { + value 27; + description + "Maximum Optical Power Input (OPIN-OTS). Total optical power"; + } + enum opticalPowerInputAvg { + value 28; + description + "Average Optical Power Input (OPIN-OTS). Total optical power"; + } + enum opticalPowerOutputOSC { + value 29; + description + "OSC Optical Power Output (OPT-OSC). OSC Transmit power on MW port"; + } + enum opticalPowerOutputOSCMin { + value 30; + description + "Minimum OSC Optical Power Output (OPT-OSC). OSC Transmit power on MW port"; + } + enum opticalPowerOutputOSCMax { + value 31; + description + "Maximum OSC Optical Power Output (OPT-OSC). OSC Transmit power on MW port"; + } + enum opticalPowerOutputOSCAvg { + value 32; + description + "Average OSC Optical Power Output (OPT-OSC). OSC Transmit power on MW port"; + } + enum opticalPowerInputOSC { + value 33; + description + "OSC Optical Power Input (OPR-OSC). OSC Receive power on MW port"; + } + enum opticalPowerInputOSCMin { + value 34; + description + "Minimum OSC Optical Power Input (OPR-OSC). OSC Receive power on MW port"; + } + enum opticalPowerInputOSCMax { + value 35; + description + "Maximum OSC Optical Power Input (OPR-OSC). OSC Receive power on MW port"; + } + enum opticalPowerInputOSCAvg { + value 36; + description + "Average OSC Optical Power Input (OPR-OSC). OSC Receive power on MW port"; + } + enum preFECCorrectedErrors { + value 37; + description + "pFEC corrected Errors"; + } + enum totalOpticalPowerInput { + value 38; + description + "Total Optical Power Input."; + } + enum totalOpticalPowerInputMin { + value 39; + description + "Minimum Total Optical Power Input."; + } + enum totalOpticalPowerInputMax { + value 40; + description + "Maximum Total Optical Power Input."; + } + enum totalOpticalPowerInputAvg { + value 41; + description + "Average Total Optical Power Input."; + } + enum FECCorrectableBlocks { + value 42; + description + "FEC Correctable Blocks."; + } + enum FECUncorrectableBlocks { + value 43; + description + "FEC Uncorrectable Blocks."; + } + enum BIPErrorCounter { + value 56; + description + "BIP Error Counter"; + } + enum protectionSwitchingCount { + value 57; + description + "Protection Switching Count (PSC)"; + } + enum protectionSwitchingDuration { + value 58; + description + "Protection Switching Duration in seconds (PSD)"; + } + enum erroredBlockCountTCM1-up { + value 59; + description + "errored Blocks Count on TCM1 up direction."; + } + enum erroredBlockCountTCM2-up { + value 60; + description + "errored Blocks Count on TCM2 up direction."; + } + enum erroredBlockCountTCM3-up { + value 61; + description + "errored Blocks Count on TCM3 up direction."; + } + enum erroredBlockCountTCM4-up { + value 62; + description + "errored Blocks Count on TCM4 up direction."; + } + enum erroredBlockCountTCM5-up { + value 63; + description + "errored Blocks Count on TCM5 up direction."; + } + enum erroredBlockCountTCM6-up { + value 64; + description + "errored Blocks Count on TCM6 up direction."; + } + enum delayTCM1-up { + value 65; + description + "Delay on TCM1 up direction."; + } + enum delayTCM2-up { + value 66; + description + "Delay on TCM2 up direction."; + } + enum delayTCM3-up { + value 67; + description + "Delay on TCM3 up direction."; + } + enum delayTCM4-up { + value 68; + description + "Delay on TCM4 up direction."; + } + enum delayTCM5-up { + value 69; + description + "Delay on TCM5 up direction."; + } + enum delayTCM6-up { + value 70; + description + "Delay on TCM6 up direction."; + } + enum erroredBlockCountTCM1-down { + value 71; + description + "errored Blocks Count on TCM1 down direction."; + } + enum erroredBlockCountTCM2-down { + value 72; + description + "errored Blocks Count on TCM2 down direction."; + } + enum erroredBlockCountTCM3-down { + value 73; + description + "errored Blocks Count on TCM3 down direction."; + } + enum erroredBlockCountTCM4-down { + value 74; + description + "errored Blocks Count on TCM4 down direction."; + } + enum erroredBlockCountTCM5-down { + value 75; + description + "errored Blocks Count on TCM5 down direction."; + } + enum erroredBlockCountTCM6-down { + value 76; + description + "errored Blocks Count on TCM6 down direction."; + } + enum delayTCM1-down { + value 77; + description + "Delay on TCM1 down direction."; + } + enum delayTCM2-down { + value 78; + description + "Delay on TCM2 down direction."; + } + enum delayTCM3-down { + value 79; + description + "Delay on TCM3 down direction."; + } + enum delayTCM4-down { + value 80; + description + "Delay on TCM4 down direction."; + } + enum delayTCM5-down { + value 81; + description + "Delay on TCM5 down direction."; + } + enum delayTCM6-down { + value 82; + description + "Delay on TCM6 down direction."; + } + enum partialRateDiscard { + value 83; + description + "Discarded packet as a result of policing or rate limiting for subrate ethernet."; + } + enum erroredSecondsTCM1-up { + value 84; + description + "errored Seconds Count on TCM1 up direction."; + } + enum erroredSecondsTCM2-up { + value 85; + description + "errored Seconds Count on TCM2 up direction."; + } + enum erroredSecondsTCM3-up { + value 86; + description + "errored Seconds Count on TCM3 up direction."; + } + enum erroredSecondsTCM4-up { + value 87; + description + "errored Seconds Count on TCM4 up direction."; + } + enum erroredSecondsTCM5-up { + value 88; + description + "errored Seconds Count on TCM5 up direction."; + } + enum erroredSecondsTCM6-up { + value 89; + description + "errored Seconds Count on TCM6 up direction."; + } + enum severelyErroredSecondsTCM1-up { + value 90; + description + "severely Errored Seconds Count on TCM1 up direction."; + } + enum severelyErroredSecondsTCM2-up { + value 91; + description + "severely Errored Seconds Count on TCM2 up direction."; + } + enum severelyErroredSecondsTCM3-up { + value 92; + description + "severely Errored Seconds Count on TCM3 up direction."; + } + enum severelyErroredSecondsTCM4-up { + value 93; + description + "severely Errored Seconds Count on TCM4 up direction."; + } + enum severelyErroredSecondsTCM5-up { + value 94; + description + "severely Errored Seconds Count on TCM5 up direction."; + } + enum severelyErroredSecondsTCM6-up { + value 95; + description + "severely Errored Seconds Count on TCM6 up direction."; + } + enum unavailableSecondsTCM1-up { + value 96; + description + "unavailable Seconds Count on TCM1 up direction."; + } + enum unavailableSecondsTCM2-up { + value 97; + description + "unavailable Seconds Count on TCM2 up direction."; + } + enum unavailableSecondsTCM3-up { + value 98; + description + "unavailable Seconds Count on TCM3 up direction."; + } + enum unavailableSecondsTCM4-up { + value 99; + description + "unavailable Seconds Count on TCM4 up direction."; + } + enum unavailableSecondsTCM5-up { + value 100; + description + "unavailable Seconds Count on TCM5 up direction."; + } + enum unavailableSecondsTCM6-up { + value 101; + description + "unavailable Seconds Count on TCM6 up direction."; + } + enum erroredSecondsTCM1-down { + value 102; + description + "errored Seconds Count on TCM1 down direction."; + } + enum erroredSecondsTCM2-down { + value 103; + description + "errored Seconds Count on TCM2 down direction."; + } + enum erroredSecondsTCM3-down { + value 104; + description + "errored Seconds Count on TCM3 down direction."; + } + enum erroredSecondsTCM4-down { + value 105; + description + "errored Seconds Count on TCM4 down direction."; + } + enum erroredSecondsTCM5-down { + value 106; + description + "errored Seconds Count on TCM5 down direction."; + } + enum erroredSecondsTCM6-down { + value 107; + description + "errored Seconds Count on TCM6 down direction."; + } + enum severelyErroredSecondsTCM1-down { + value 108; + description + "severely Errored Seconds Count on TCM1 down direction."; + } + enum severelyErroredSecondsTCM2-down { + value 109; + description + "severely Errored Seconds Count on TCM2 down direction."; + } + enum severelyErroredSecondsTCM3-down { + value 110; + description + "severely Errored Seconds Count on TCM3 down direction."; + } + enum severelyErroredSecondsTCM4-down { + value 111; + description + "severely Errored Seconds Count on TCM4 down direction."; + } + enum severelyErroredSecondsTCM5-down { + value 112; + description + "severely Errored Seconds Count on TCM5 down direction."; + } + enum severelyErroredSecondsTCM6-down { + value 113; + description + "severely Errored Seconds Count on TCM6 down direction."; + } + enum unavailableSecondsTCM1-down { + value 114; + description + "unavailable Seconds Count on TCM1 down direction."; + } + enum unavailableSecondsTCM2-down { + value 115; + description + "unavailable Seconds Count on TCM2 down direction."; + } + enum unavailableSecondsTCM3-down { + value 116; + description + "unavailable Seconds Count on TCM3 down direction."; + } + enum unavailableSecondsTCM4-down { + value 117; + description + "unavailable Seconds Count on TCM4 down direction."; + } + enum unavailableSecondsTCM5-down { + value 118; + description + "unavailable Seconds Count on TCM5 down direction."; + } + enum unavailableSecondsTCM6-down { + value 119; + description + "unavailable Seconds Count on TCM6 down direction."; + } + } + } + + grouping pm-measurement { + description + "Set of parameters related to a PM Measurement"; + leaf pmParameterValue { + type pm-data-type; + config false; + mandatory true; + } + leaf pmParameterUnit { + type string; + mandatory false; + description + "Unit PM parameter has been measured - frames, packets, u, etc"; + } + leaf validity { + type validity; + mandatory false; + } + } + + grouping pm-names { + description + "Name of PM parameter. Consists of a set list of parameters, + plus an extension field to support addition parameters."; + leaf type { + type pm-names-enum; + mandatory true; + } + leaf extension { + type string; + description + "name of parameter, when enum value set to vendorExtension because + name not found in pm-names-enum"; + } + } +} diff --git a/sdnr/wt/common-yang/pom.xml b/sdnr/wt/common-yang/pom.xml index 01bde5e0c..9f879a48e 100755 --- a/sdnr/wt/common-yang/pom.xml +++ b/sdnr/wt/common-yang/pom.xml @@ -44,6 +44,7 @@ <module>rfc8341</module> <module>rfc7317-ietf-system</module> <module>ietf-alarms</module> + <module>openroadm-pm-types</module> <module>utils</module> </modules> |