Class: AWSCDK::ApplicationAutoScaling::CfnScalingPolicy::StepAdjustmentProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
application_auto_scaling/cfn_scaling_policy.rb

Overview

StepAdjustment specifies a step adjustment for the StepAdjustments property of the AWS::ApplicationAutoScaling::ScalingPolicy StepScalingPolicyConfiguration property type.

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.

For more information, see Step adjustments in the Application Auto Scaling User Guide .

You can find a sample template snippet in the Examples section of the AWS::ApplicationAutoScaling::ScalingPolicy documentation.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scaling_adjustment:, metric_interval_lower_bound: nil, metric_interval_upper_bound: nil) ⇒ StepAdjustmentProperty

Returns a new instance of StepAdjustmentProperty.

Parameters:

  • scaling_adjustment (Numeric)

    The amount by which to scale.

  • metric_interval_lower_bound (Numeric, nil) (defaults to: nil)

    The lower bound for the difference between the alarm threshold and the CloudWatch metric.

  • metric_interval_upper_bound (Numeric, nil) (defaults to: nil)

    The upper bound for the difference between the alarm threshold and the CloudWatch metric.



1532
1533
1534
1535
1536
1537
1538
1539
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1532

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_boundNumeric? (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.

You must specify at least one upper or lower bound.



1556
1557
1558
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1556

def metric_interval_lower_bound
  @metric_interval_lower_bound
end

#metric_interval_upper_boundNumeric? (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.

You must specify at least one upper or lower bound.



1565
1566
1567
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1565

def metric_interval_upper_bound
  @metric_interval_upper_bound
end

#scaling_adjustmentNumeric (readonly)

The amount by which to scale.

The adjustment is based on the value that you specified in the AdjustmentType property (either an absolute number or a percentage). A positive value adds to the current capacity and a negative number subtracts from the current capacity.



1547
1548
1549
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1547

def scaling_adjustment
  @scaling_adjustment
end

Class Method Details

.jsii_propertiesObject



1567
1568
1569
1570
1571
1572
1573
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1567

def self.jsii_properties
  {
    :scaling_adjustment => "scalingAdjustment",
    :metric_interval_lower_bound => "metricIntervalLowerBound",
    :metric_interval_upper_bound => "metricIntervalUpperBound",
  }
end

Instance Method Details

#to_jsiiObject



1575
1576
1577
1578
1579
1580
1581
1582
1583
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1575

def to_jsii
  result = {}
  result.merge!({
    "scalingAdjustment" => @scaling_adjustment,
    "metricIntervalLowerBound" => @metric_interval_lower_bound,
    "metricIntervalUpperBound" => @metric_interval_upper_bound,
  })
  result.compact
end