IAutoScalingGroup

class aws_cdk.aws_autoscaling.IAutoScalingGroup(*args, **kwargs)

Bases: aws_cdk.core.IResource, typing_extensions.Protocol

An AutoScalingGroup.

__init__(*args, **kwargs)

Methods

add_lifecycle_hook(id, *, lifecycle_transition, notification_target, default_result=None, heartbeat_timeout=None, lifecycle_hook_name=None, notification_metadata=None, role=None)

Send a message to either an SQS queue or SNS topic when instances launch or terminate.

Parameters
  • id (str) –

  • props

  • lifecycle_transition (LifecycleTransition) – The state of the Amazon EC2 instance to which you want to attach the lifecycle hook.

  • notification_target (ILifecycleHookTarget) – The target of the lifecycle hook.

  • default_result (Optional[DefaultResult]) – The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. Default: Continue

  • heartbeat_timeout (Optional[Duration]) – Maximum time between calls to RecordLifecycleActionHeartbeat for the hook. If the lifecycle hook times out, perform the action in DefaultResult. Default: - No heartbeat timeout.

  • lifecycle_hook_name (Optional[str]) – Name of the lifecycle hook. Default: - Automatically generated name.

  • notification_metadata (Optional[str]) – Additional data to pass to the lifecycle hook target. Default: - No metadata.

  • role (Optional[IRole]) – The role that allows publishing to the notification target. Default: - A role is automatically created.

Return type

LifecycleHook

scale_on_cpu_utilization(id, *, target_utilization_percent, cooldown=None, disable_scale_in=None, estimated_instance_warmup=None)

Scale out or in to achieve a target CPU utilization.

Parameters
  • id (str) –

  • props

  • target_utilization_percent (Union[int, float]) – Target average CPU utilization across the task.

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

  • disable_scale_in (Optional[bool]) – Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won’t remove capacity from the autoscaling group. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the group. Default: false

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

Return type

TargetTrackingScalingPolicy

scale_on_incoming_bytes(id, *, target_bytes_per_second, cooldown=None, disable_scale_in=None, estimated_instance_warmup=None)

Scale out or in to achieve a target network ingress rate.

Parameters
  • id (str) –

  • props

  • target_bytes_per_second (Union[int, float]) – Target average bytes/seconds on each instance.

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

  • disable_scale_in (Optional[bool]) – Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won’t remove capacity from the autoscaling group. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the group. Default: false

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

Return type

TargetTrackingScalingPolicy

scale_on_metric(id, *, metric, scaling_steps, adjustment_type=None, cooldown=None, estimated_instance_warmup=None, min_adjustment_magnitude=None)

Scale out or in, in response to a metric.

Parameters
  • id (str) –

  • props

  • metric (IMetric) – Metric to scale on.

  • scaling_steps (List[ScalingInterval]) – The intervals for scaling. Maps a range of metric values to a particular scaling behavior.

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

  • cooldown (Optional[Duration]) – Grace period after scaling activity. Default: Default cooldown period on your AutoScalingGroup

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

  • 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

Return type

StepScalingPolicy

scale_on_outgoing_bytes(id, *, target_bytes_per_second, cooldown=None, disable_scale_in=None, estimated_instance_warmup=None)

Scale out or in to achieve a target network egress rate.

Parameters
  • id (str) –

  • props

  • target_bytes_per_second (Union[int, float]) – Target average bytes/seconds on each instance.

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

  • disable_scale_in (Optional[bool]) – Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won’t remove capacity from the autoscaling group. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the group. Default: false

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

Return type

TargetTrackingScalingPolicy

scale_on_schedule(id, *, schedule, desired_capacity=None, end_time=None, max_capacity=None, min_capacity=None, start_time=None)

Scale out or in based on time.

Parameters
  • id (str) –

  • props

  • schedule (Schedule) – When to perform this action. Supports cron expressions. For more information about cron expressions, see https://en.wikipedia.org/wiki/Cron.

  • desired_capacity (Union[int, float, None]) – The new desired capacity. At the scheduled time, set the desired capacity to the given capacity. At least one of maxCapacity, minCapacity, or desiredCapacity must be supplied. Default: - No new desired capacity.

  • end_time (Optional[datetime]) – When this scheduled action expires. Default: - The rule never expires.

  • max_capacity (Union[int, float, None]) – The new maximum capacity. At the scheduled time, set the maximum capacity to the given capacity. At least one of maxCapacity, minCapacity, or desiredCapacity must be supplied. Default: - No new maximum capacity.

  • min_capacity (Union[int, float, None]) – The new minimum capacity. At the scheduled time, set the minimum capacity to the given capacity. At least one of maxCapacity, minCapacity, or desiredCapacity must be supplied. Default: - No new minimum capacity.

  • start_time (Optional[datetime]) – When this scheduled action becomes active. Default: - The rule is activate immediately.

Return type

ScheduledAction

scale_to_track_metric(id, *, metric, target_value, cooldown=None, disable_scale_in=None, estimated_instance_warmup=None)

Scale out or in in order to keep a metric around a target value.

Parameters
  • id (str) –

  • props

  • metric (IMetric) – Metric to track. The metric must represent a utilization, so that if it’s higher than the target value, your ASG should scale out, and if it’s lower it should scale in.

  • target_value (Union[int, float]) – Value to keep the metric around.

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

  • disable_scale_in (Optional[bool]) – Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won’t remove capacity from the autoscaling group. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the group. Default: false

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

Return type

TargetTrackingScalingPolicy

Attributes

auto_scaling_group_arn

The arn of the AutoScalingGroup.

attribute: :attribute:: true

Return type

str

auto_scaling_group_name

The name of the AutoScalingGroup.

attribute: :attribute:: true

Return type

str

node

The construct node in the tree.

Return type

ConstructNode

stack

The stack in which this resource is defined.

Return type

Stack