class aws_cdk.aws_applicationautoscaling.StepScalingAction(scope, id, *, scaling_target, adjustment_type=None, cooldown=None, metric_aggregation_type=None, min_adjustment_magnitude=None, policy_name=None)

Bases: aws_cdk.core.Construct

Define a step scaling action.

This kind of scaling policy adjusts the target capacity in configurable steps. The size of the step is configurable based on the metric’s distance to its alarm threshold.

This Action must be used as the target of a CloudWatch alarm to take effect.

  • scope (Construct) –

  • id (str) –

  • scaling_target (IScalableTarget) – The scalable target.

  • adjustment_type (Optional[AdjustmentType]) – How the adjustment numbers are interpreted. Default: ChangeInCapacity

  • cooldown (Optional[Duration]) – Grace period after scaling activity. For scale out policies, multiple scale outs during the cooldown period are squashed so that only the biggest scale out happens. For scale in policies, subsequent scale ins during the cooldown period are ignored. Default: No cooldown period

  • metric_aggregation_type (Optional[MetricAggregationType]) – The aggregation type for the CloudWatch metrics. Default: Average

  • min_adjustment_magnitude (Union[int, float, None]) – Minimum absolute number to adjust capacity with as result of percentage scaling. Only when using AdjustmentType = PercentChangeInCapacity, this number controls the minimum absolute effect size. Default: No minimum scaling effect

  • policy_name (Optional[str]) – A name for the scaling policy. Default: Automatically generated name


add_adjustment(*, adjustment, lower_bound=None, upper_bound=None)

Add an adjusment interval to the ScalingAction.

  • adjustment (Union[int, float]) – What number to adjust the capacity with. The number is interpeted as an added capacity, a new fixed capacity or an added percentage depending on the AdjustmentType value of the StepScalingPolicy. Can be positive or negative.

  • lower_bound (Union[int, float, None]) – Lower bound where this scaling tier applies. The scaling tier applies if the difference between the metric value and its alarm threshold is higher than this value. Default: -Infinity if this is the first tier, otherwise the upperBound of the previous tier

  • upper_bound (Union[int, float, None]) – Upper bound where this scaling tier applies. The scaling tier applies if the difference between the metric value and its alarm threshold is lower than this value. Default: +Infinity

Return type



Returns a string representation of this construct.

Return type




The construct tree node associated with this construct.

Return type



ARN of the scaling policy.

Return type


Static Methods

classmethod is_construct(x)

Return whether the given object is a Construct.


x (Any) –

Return type