/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a step adjustment for a StepScalingPolicyConfiguration.
* Describes an adjustment based on the difference between the value of the
* aggregated CloudWatch metric and the breach threshold that you've defined for
* the alarm. For the following examples, suppose that you have an alarm
* with a breach threshold of 50: To initiate the adjustment when
* the metric is greater than or equal to 50 and less than 60, specify a lower
* bound of To initiate the adjustment when the metric is greater than 40 and less than
* or equal to 50, specify a lower bound of There are a few rules for the step
* adjustments for your step policy: The ranges of your step
* adjustments can't overlap or have a gap. At most one step
* adjustment can have a null lower bound. If one step adjustment has a negative
* lower bound, then there must be a step adjustment with a null lower bound. At most one step adjustment can have a null upper bound. If one
* step adjustment has a positive upper bound, then there must be a step adjustment
* with a null upper bound. The upper and lower bound can't be
* null in the same step adjustment.
0
and an upper bound of 10
.-10
and an upper bound of
* 0
.
See Also:
AWS
* API Reference
The lower bound for the difference between the alarm threshold and the * CloudWatch metric. If the metric value is above the breach threshold, the lower * bound is inclusive (the metric must be greater than or equal to the threshold * plus the lower bound). Otherwise, it's exclusive (the metric must be greater * than the threshold plus the lower bound). A null value indicates negative * infinity.
*/ inline double GetMetricIntervalLowerBound() const{ return m_metricIntervalLowerBound; } /** *The lower bound for the difference between the alarm threshold and the * CloudWatch metric. If the metric value is above the breach threshold, the lower * bound is inclusive (the metric must be greater than or equal to the threshold * plus the lower bound). Otherwise, it's exclusive (the metric must be greater * than the threshold plus the lower bound). A null value indicates negative * infinity.
*/ inline bool MetricIntervalLowerBoundHasBeenSet() const { return m_metricIntervalLowerBoundHasBeenSet; } /** *The lower bound for the difference between the alarm threshold and the * CloudWatch metric. If the metric value is above the breach threshold, the lower * bound is inclusive (the metric must be greater than or equal to the threshold * plus the lower bound). Otherwise, it's exclusive (the metric must be greater * than the threshold plus the lower bound). A null value indicates negative * infinity.
*/ inline void SetMetricIntervalLowerBound(double value) { m_metricIntervalLowerBoundHasBeenSet = true; m_metricIntervalLowerBound = value; } /** *The lower bound for the difference between the alarm threshold and the * CloudWatch metric. If the metric value is above the breach threshold, the lower * bound is inclusive (the metric must be greater than or equal to the threshold * plus the lower bound). Otherwise, it's exclusive (the metric must be greater * than the threshold plus the lower bound). A null value indicates negative * infinity.
*/ inline StepAdjustment& WithMetricIntervalLowerBound(double value) { SetMetricIntervalLowerBound(value); return *this;} /** *The upper bound for the difference between the alarm threshold and the * CloudWatch metric. If the metric value is above the breach threshold, the upper * bound is exclusive (the metric must be less than the threshold plus the upper * bound). Otherwise, it's inclusive (the metric must be less than or equal to the * threshold plus the upper bound). A null value indicates positive infinity.
*The upper bound must be greater than the lower bound.
*/ inline double GetMetricIntervalUpperBound() const{ return m_metricIntervalUpperBound; } /** *The upper bound for the difference between the alarm threshold and the * CloudWatch metric. If the metric value is above the breach threshold, the upper * bound is exclusive (the metric must be less than the threshold plus the upper * bound). Otherwise, it's inclusive (the metric must be less than or equal to the * threshold plus the upper bound). A null value indicates positive infinity.
*The upper bound must be greater than the lower bound.
*/ inline bool MetricIntervalUpperBoundHasBeenSet() const { return m_metricIntervalUpperBoundHasBeenSet; } /** *The upper bound for the difference between the alarm threshold and the * CloudWatch metric. If the metric value is above the breach threshold, the upper * bound is exclusive (the metric must be less than the threshold plus the upper * bound). Otherwise, it's inclusive (the metric must be less than or equal to the * threshold plus the upper bound). A null value indicates positive infinity.
*The upper bound must be greater than the lower bound.
*/ inline void SetMetricIntervalUpperBound(double value) { m_metricIntervalUpperBoundHasBeenSet = true; m_metricIntervalUpperBound = value; } /** *The upper bound for the difference between the alarm threshold and the * CloudWatch metric. If the metric value is above the breach threshold, the upper * bound is exclusive (the metric must be less than the threshold plus the upper * bound). Otherwise, it's inclusive (the metric must be less than or equal to the * threshold plus the upper bound). A null value indicates positive infinity.
*The upper bound must be greater than the lower bound.
*/ inline StepAdjustment& WithMetricIntervalUpperBound(double value) { SetMetricIntervalUpperBound(value); return *this;} /** *The amount by which to scale, based on the specified adjustment type. A * positive value adds to the current capacity while a negative number removes from * the current capacity. For exact capacity, you must specify a non-negative * value.
*/ inline int GetScalingAdjustment() const{ return m_scalingAdjustment; } /** *The amount by which to scale, based on the specified adjustment type. A * positive value adds to the current capacity while a negative number removes from * the current capacity. For exact capacity, you must specify a non-negative * value.
*/ inline bool ScalingAdjustmentHasBeenSet() const { return m_scalingAdjustmentHasBeenSet; } /** *The amount by which to scale, based on the specified adjustment type. A * positive value adds to the current capacity while a negative number removes from * the current capacity. For exact capacity, you must specify a non-negative * value.
*/ inline void SetScalingAdjustment(int value) { m_scalingAdjustmentHasBeenSet = true; m_scalingAdjustment = value; } /** *The amount by which to scale, based on the specified adjustment type. A * positive value adds to the current capacity while a negative number removes from * the current capacity. For exact capacity, you must specify a non-negative * value.
*/ inline StepAdjustment& WithScalingAdjustment(int value) { SetScalingAdjustment(value); return *this;} private: double m_metricIntervalLowerBound; bool m_metricIntervalLowerBoundHasBeenSet = false; double m_metricIntervalUpperBound; bool m_metricIntervalUpperBoundHasBeenSet = false; int m_scalingAdjustment; bool m_scalingAdjustmentHasBeenSet = false; }; } // namespace Model } // namespace ApplicationAutoScaling } // namespace Aws