Commit d26d42a7 authored by lengyelb's avatar lengyelb
Browse files

Update thresholdinfo

parent eff655e3
Loading
Loading
Loading
Loading
Loading
+138 −42
Original line number Diff line number Diff line
@@ -133,6 +133,141 @@ module _3gpp-common-fm {
    }
  }

  grouping ThresholdHysteresisGrp {
    description "The ThresholdHysteresis defines the threshold boundaries to 
      control the hysteresis mechanism.

      The high attribute of ThresholdHysteresis identifies the higher value of 
      a threshold with hysteris, the integer type is used for counter 
      thresholds and the float type for gauge thresholds. The low attribute 
      of ThresholdHysteresis identifies the lower value of a threshold with 
      hysteresis, applicable only to gauge thresholds.";
      
    leaf high {
      type union {
        type int64;
        type decimal64 {
          fraction-digits 7;
        }
      }
      mandatory true;
      description "Higher value of a threshold with hysteris, the integer type 
        is used for counter thresholds and the float type for gauge 
        thresholds.";
    }
    
    leaf low {
      type decimal64 {
        fraction-digits 7;
      }
      description "Lower value of a threshold with hysteresis, applicable 
        only to gauge thresholds.";
    }
  }
  
  grouping ThresholdLevelIndGrp {
    description "The up attribute indicates for counter and gauge thresholds 
      that the threshold crossing occurred when going up. The down attribute 
      only indicates for gauge thresholds that the threshold crossing occurred 
      when going down, applicable only to gauge thresholds.";
      
    list up {
      description "Indicates for counter and gauge thresholds that the 
        threshold crossing occurred when going up.";
      max-elements 1;
      key idx;
      leaf idx { type int32; }
      uses ThresholdHysteresisGrp;
    }
    
    list down {
      description "Indicates for gauge thresholds that the threshold crossing 
        occurred when going down, applicable only to gauge thresholds.";
      max-elements 1;
      key idx;
      leaf idx { type int32; }
      uses ThresholdHysteresisGrp;
    }
  }
  
  grouping ThresholdCrossingGrp {
    description "The datatype indicates the crossed threshold 
      information regardless of the gauge threshold, which represents an 
      instantaneous value that changes over time, or the counter threshold, 
      which represents monotonically increasing cumulative quantity.
      
      The observedMeasurement attribute of TheresholdInfo specifies the name 
      of the monitored measurement that crossed the threshold and that 
      caused the notification (Rec. ITU-T X. 733[8]). The observedValue 
      attribute indicates the value of the gauge or counter which crossed 
      the threshold. This may be different from the threshold value if, for
      example, the gauge may only take on discrete values. Integer values 
      are used for counters and float values for gauges (Rec. ITU-T X. 733). 
      Note that a 'number' type property can contain both integers and 
      floating point numbers.
      
      For the thresholdLevel attribute, in the case of a gauge, it specifies 
      a pair of threshold values, the first being the value of the crossed 
      threshold and the second, its corresponding hysteresis; in the case of 
      a counter, it specifies only the threshold value (Rec. ITU-T X. 733). 

      For the armTime attribute, for a gauge threshold, it specifies the 
      time at which the threshold was last re-armed, namely the time after 
      the previous threshold crossing at which the hysteresis value of the 
      threshold was exceeded thus again permitting generation of 
      notifications when the threshold is crossed; for a counter threshold, 
      the later of the time at which the threshold offset was last applied, 
      or the time at which the counter was last initialized (for resettable 
      counters) (Rec. ITU-T X. 733).";
      
    leaf observedMeasurement {
      type string;
      mandatory true;
      description "The name of the monitored measurement that crossed the 
        threshold and that caused the notification (Rec. ITU-T X. 733 ";
    }

    leaf observedValue {
      type union {
        type int64;
        type decimal64 {
          fraction-digits 7;
        }
      }
      mandatory true;
      description "The value of the gauge or counter which crossed the 
        threshold. This may be different from the threshold value if, for 
        example, the gauge may only take on discrete values. 
        Integer values are used for counters and float values for gauges 
        (Rec. ITU-T X. 733). Note that a 'number' type property can contain 
        both integers and floating point numbers.";
    }

    list thresholdLevel {
      description "In the case of a gauge the threshold level specifies 
        a pair of threshold values, the first being the value of the crossed 
        threshold and the second, its corresponding hysteresis; in the case 
        of a counter the threshold level specifies only the threshold value 
        (Rec. ITU-T X. 733).";
      max-elements 1;
      key idx;
      leaf idx { type int32; }
      uses ThresholdLevelIndGrp;
    }

    leaf armTime {
      type yang:date-and-time;
      description "For a gauge threshold, the time at which the threshold 
        was last re-armed, namely the time after the previous threshold 
        crossing at which the hysteresis value of the threshold was 
        exceeded thus again permitting generation of notifications when the 
        threshold is crossed. For a counter threshold, the later of the time 
        at which the threshold offset was last applied, or the time at 
        which the counter was last initialized (for resettable counters) 
        (Rec. ITU-T X. 733)";
    }
  }  
  
  grouping AlarmRecordGrp {
    description "Contains alarm information of an alarmed object instance.
      A new record is created in the alarm list when an alarmed object
@@ -260,52 +395,13 @@ module _3gpp-common-fm {
      yext3gpp:notNotifyable;
    }

    grouping ThresholdInfoGrp {
      leaf measurementType {
        type string;
        mandatory true;
      }

      leaf direction {
        type enumeration {
          enum INCREASING;
          enum DECREASING;
        }
        mandatory true;
        description "
          If it is 'Increasing', the threshold crossing notification is
          triggered when the measurement value equals or exceeds a
          thresholdValue.

          If it is 'Decreasing', the threshold crossing notification is
          triggered when the measurement value equals or below a
          thresholdValue.";
      }

      leaf thresholdLevel {
        type string;
      }
      
      leaf thresholdValue {
        type string;
      }
      
      leaf hysteresis {
        type string;
        description "The hysteresis has a threshold high and a threshold
          low value that are different from the threshold value.
          A hysteresis, therefore, defines the threshold-high and
          threshold-low levels within which the measurementType value is
          allowed to oscillate without triggering the threshold crossing
          notification.";
      }
    }

    list thresholdInfo {
      config false ;
      yext3gpp:notNotifyable;
      description "Indicates the crossed threshold";
      uses ThresholdInfoGrp;
      key idx;
      leaf idx { type int32; }
      uses ThresholdCrossingGrp;
    }

    list stateChangeDefinition {