StepScalingAction

class aws_cdk.aws_autoscaling.StepScalingAction(scope, id, *, auto_scaling_group, adjustment_type=None, cooldown=None, estimated_instance_warmup=None, metric_aggregation_type=None, min_adjustment_magnitude=None)

Bases: 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.

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_autoscaling as autoscaling
import aws_cdk.core as cdk

# auto_scaling_group: autoscaling.AutoScalingGroup

step_scaling_action = autoscaling.StepScalingAction(self, "MyStepScalingAction",
    auto_scaling_group=auto_scaling_group,

    # the properties below are optional
    adjustment_type=autoscaling.AdjustmentType.CHANGE_IN_CAPACITY,
    cooldown=cdk.Duration.minutes(30),
    estimated_instance_warmup=cdk.Duration.minutes(30),
    metric_aggregation_type=autoscaling.MetricAggregationType.AVERAGE,
    min_adjustment_magnitude=123
)
Parameters:
  • scope (Construct) –

  • id (str) –

  • auto_scaling_group (IAutoScalingGroup) – The auto scaling group.

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

  • cooldown (Optional[Duration]) – Period after a scaling completes before another scaling activity can start. Default: The default cooldown configured on the AutoScalingGroup

  • estimated_instance_warmup (Optional[Duration]) – Estimated time until a newly launched instance can send metrics to CloudWatch. Default: Same as the cooldown

  • 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

Methods

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

Add an adjusment interval to the ScalingAction.

Parameters:
  • 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:

None

to_string()

Returns a string representation of this construct.

Return type:

str

Attributes

node

The construct tree node associated with this construct.

scaling_policy_arn

ARN of the scaling policy.

Static Methods

classmethod is_construct(x)

Return whether the given object is a Construct.

Parameters:

x (Any) –

Return type:

bool