IAutoScalingGroup
- class aws_cdk.aws_autoscaling.IAutoScalingGroup(*args, **kwargs)
Bases:
IResource
,IGrantable
,Protocol
An AutoScalingGroup.
Methods
- add_lifecycle_hook(id, *, lifecycle_transition, default_result=None, heartbeat_timeout=None, lifecycle_hook_name=None, notification_metadata=None, notification_target=None, role=None)
Send a message to either an SQS queue or SNS topic when instances launch or terminate.
- Parameters:
id (
str
) –lifecycle_transition (
LifecycleTransition
) – The state of the Amazon EC2 instance to which you want to attach 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: Continueheartbeat_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.notification_target (
Optional
[ILifecycleHookTarget
]) – The target of the lifecycle hook. Default: - No target.role (
Optional
[IRole
]) – The role that allows publishing to the notification target. Default: - A role will be created if a target is provided. Otherwise, no role is created.
- Return type:
- add_user_data(*commands)
Add command to the startup script of fleet instances.
The command must be in the scripting language supported by the fleet’s OS (i.e. Linux/Windows). Does nothing for imported ASGs.
- Parameters:
commands (
str
) –- Return type:
None
- add_warm_pool(*, max_group_prepared_capacity=None, min_size=None, pool_state=None, reuse_on_scale_in=None)
Add a pool of pre-initialized EC2 instances that sits alongside an Auto Scaling group.
- Parameters:
max_group_prepared_capacity (
Union
[int
,float
,None
]) – The maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group. If the value is not specified, Amazon EC2 Auto Scaling launches and maintains the difference between the group’s maximum capacity and its desired capacity. Default: - max size of the Auto Scaling groupmin_size (
Union
[int
,float
,None
]) – The minimum number of instances to maintain in the warm pool. Default: 0pool_state (
Optional
[PoolState
]) – The instance state to transition to after the lifecycle actions are complete. Default: PoolState.STOPPEDreuse_on_scale_in (
Optional
[bool
]) – Indicates whether instances in the Auto Scaling group can be returned to the warm pool on scale in. If the value is not specified, instances in the Auto Scaling group will be terminated when the group scales in. Default: false
- Return type:
- apply_removal_policy(policy)
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.
The resource can be deleted (
RemovalPolicy.DESTROY
), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN
).- Parameters:
policy (
RemovalPolicy
) –- Return type:
None
- 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
) –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: falseestimated_instance_warmup (
Optional
[Duration
]) – Estimated time until a newly launched instance can send metrics to CloudWatch. Default: - Same as the cooldown.
- Return type:
- 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
) –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: falseestimated_instance_warmup (
Optional
[Duration
]) – Estimated time until a newly launched instance can send metrics to CloudWatch. Default: - Same as the cooldown.
- Return type:
- scale_on_metric(id, *, metric, scaling_steps, adjustment_type=None, cooldown=None, datapoints_to_alarm=None, estimated_instance_warmup=None, evaluation_periods=None, metric_aggregation_type=None, min_adjustment_magnitude=None)
Scale out or in, in response to a metric.
- Parameters:
id (
str
) –metric (
IMetric
) – Metric to scale on.scaling_steps (
Sequence
[Union
[ScalingInterval
,Dict
[str
,Any
]]]) – The intervals for scaling. Maps a range of metric values to a particular scaling behavior. Must be between 2 and 40 steps.adjustment_type (
Optional
[AdjustmentType
]) – How the adjustment numbers inside ‘intervals’ are interpreted. Default: ChangeInCapacitycooldown (
Optional
[Duration
]) – Grace period after scaling activity. Default: Default cooldown period on your AutoScalingGroupdatapoints_to_alarm (
Union
[int
,float
,None
]) – The number of data points out of the evaluation periods that must be breaching to trigger a scaling action. Creates an “M out of N” alarm, where this property is the M and the value set forevaluationPeriods
is the N value. Only has meaning ifevaluationPeriods != 1
. Must be less than or equal toevaluationPeriods
. Default: - Same asevaluationPeriods
estimated_instance_warmup (
Optional
[Duration
]) – Estimated time until a newly launched instance can send metrics to CloudWatch. Default: Same as the cooldownevaluation_periods (
Union
[int
,float
,None
]) – How many evaluation periods of the metric to wait before triggering a scaling action. Raising this value can be used to smooth out the metric, at the expense of slower response times. IfdatapointsToAlarm
is not set, then all data points in the evaluation period must meet the criteria to trigger a scaling action. Default: 1metric_aggregation_type (
Optional
[MetricAggregationType
]) – Aggregation to apply to all data points over the evaluation periods. Only has meaning ifevaluationPeriods != 1
. Default: - The statistic from the metric if applicable (MIN, MAX, AVERAGE), otherwise 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
- Return type:
- 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
) –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: falseestimated_instance_warmup (
Optional
[Duration
]) – Estimated time until a newly launched instance can send metrics to CloudWatch. Default: - Same as the cooldown.
- Return type:
- scale_on_schedule(id, *, schedule, desired_capacity=None, end_time=None, max_capacity=None, min_capacity=None, start_time=None, time_zone=None)
Scale out or in based on time.
- Parameters:
id (
str
) –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.time_zone (
Optional
[str
]) – Specifies the time zone for a cron expression. If a time zone is not provided, UTC is used by default. Valid values are the canonical names of the IANA time zones, derived from the IANA Time Zone Database (such as Etc/GMT+9 or Pacific/Tahiti). For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. Default: - UTC
- Return type:
- 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
) –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: falseestimated_instance_warmup (
Optional
[Duration
]) – Estimated time until a newly launched instance can send metrics to CloudWatch. Default: - Same as the cooldown.
- Return type:
Attributes
- auto_scaling_group_arn
The arn of the AutoScalingGroup.
- Attribute:
true
- auto_scaling_group_name
The name of the AutoScalingGroup.
- Attribute:
true
- env
The environment this resource belongs to.
For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.
- grant_principal
The principal to grant permissions to.
- node
The tree node.
- os_type
The operating system family that the instances in this auto-scaling group belong to.
Is ‘UNKNOWN’ for imported ASGs.
- stack
The stack in which this resource is defined.