Class: AWSCDK::Autoscaling::CfnScalingPolicy::StepAdjustmentProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Autoscaling::CfnScalingPolicy::StepAdjustmentProperty
- Defined in:
- autoscaling/cfn_scaling_policy.rb
Overview
StepAdjustment specifies a step adjustment for the StepAdjustments property of the AWS::AutoScaling::ScalingPolicy resource.
For the following examples, suppose that you have an alarm with a breach threshold of 50:
- To trigger a step adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.
- To trigger a step adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.
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.
For more information, see Step adjustments in the Amazon EC2 Auto Scaling User Guide .
You can find a sample template snippet in the Examples section of the AWS::AutoScaling::ScalingPolicy resource.
Instance Attribute Summary collapse
-
#metric_interval_lower_bound ⇒ Numeric?
readonly
The lower bound for the difference between the alarm threshold and the CloudWatch metric.
-
#metric_interval_upper_bound ⇒ Numeric?
readonly
The upper bound for the difference between the alarm threshold and the CloudWatch metric.
-
#scaling_adjustment ⇒ Numeric
readonly
The amount by which to scale, based on the specified adjustment type.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(scaling_adjustment:, metric_interval_lower_bound: nil, metric_interval_upper_bound: nil) ⇒ StepAdjustmentProperty
constructor
A new instance of StepAdjustmentProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(scaling_adjustment:, metric_interval_lower_bound: nil, metric_interval_upper_bound: nil) ⇒ StepAdjustmentProperty
Returns a new instance of StepAdjustmentProperty.
1602 1603 1604 1605 1606 1607 1608 1609 |
# File 'autoscaling/cfn_scaling_policy.rb', line 1602 def initialize(scaling_adjustment:, metric_interval_lower_bound: nil, metric_interval_upper_bound: nil) @scaling_adjustment = scaling_adjustment Jsii::Type.check_type(@scaling_adjustment, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "scalingAdjustment") @metric_interval_lower_bound = metric_interval_lower_bound Jsii::Type.check_type(@metric_interval_lower_bound, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "metricIntervalLowerBound") unless @metric_interval_lower_bound.nil? @metric_interval_upper_bound = metric_interval_upper_bound Jsii::Type.check_type(@metric_interval_upper_bound, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "metricIntervalUpperBound") unless @metric_interval_upper_bound.nil? end |
Instance Attribute Details
#metric_interval_lower_bound ⇒ Numeric? (readonly)
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 is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.
1624 1625 1626 |
# File 'autoscaling/cfn_scaling_policy.rb', line 1624 def metric_interval_lower_bound @metric_interval_lower_bound end |
#metric_interval_upper_bound ⇒ Numeric? (readonly)
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 is 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.
1633 1634 1635 |
# File 'autoscaling/cfn_scaling_policy.rb', line 1633 def metric_interval_upper_bound @metric_interval_upper_bound end |
#scaling_adjustment ⇒ Numeric (readonly)
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.
1617 1618 1619 |
# File 'autoscaling/cfn_scaling_policy.rb', line 1617 def scaling_adjustment @scaling_adjustment end |
Class Method Details
.jsii_properties ⇒ Object
1635 1636 1637 1638 1639 1640 1641 |
# File 'autoscaling/cfn_scaling_policy.rb', line 1635 def self.jsii_properties { :scaling_adjustment => "scalingAdjustment", :metric_interval_lower_bound => "metricIntervalLowerBound", :metric_interval_upper_bound => "metricIntervalUpperBound", } end |
Instance Method Details
#to_jsii ⇒ Object
1643 1644 1645 1646 1647 1648 1649 1650 1651 |
# File 'autoscaling/cfn_scaling_policy.rb', line 1643 def to_jsii result = {} result.merge!({ "scalingAdjustment" => @scaling_adjustment, "metricIntervalLowerBound" => @metric_interval_lower_bound, "metricIntervalUpperBound" => @metric_interval_upper_bound, }) result.compact end |