RetentionTriggers

class aws_cdk.aws_autoscaling.RetentionTriggers(*, terminate_hook_abandon=None)

Bases: object

Defines the specific triggers that cause instances to be retained in a Retained state rather than terminated.

Each trigger corresponds to a different failure scenario during the instance lifecycle. This allows fine-grained control over when to preserve instances for manual intervention.

Parameters:

terminate_hook_abandon (Optional[TerminateHookAbandonAction]) – Specifies the action when a termination lifecycle hook is abandoned due to failure, timeout, or explicit abandonment (calling CompleteLifecycleAction). Set to Retain to move instances to a Retained state. Set to Terminate for default termination behavior. Retained instances don’t count toward desired capacity and remain until you call TerminateInstanceInAutoScalingGroup. Default: - No action specified

ExampleMetadata:

infused

Example:

# vpc: ec2.Vpc
# instance_type: ec2.InstanceType
# machine_image: ec2.IMachineImage


asg = autoscaling.AutoScalingGroup(self, "ASG",
    vpc=vpc,
    instance_type=instance_type,
    machine_image=machine_image,

    # Configure instance lifecycle policy
    instance_lifecycle_policy=autoscaling.InstanceLifecyclePolicy(
        retention_triggers=autoscaling.RetentionTriggers(
            terminate_hook_abandon=autoscaling.TerminateHookAbandonAction.RETAIN
        )
    )
)

# Add termination lifecycle hook (required for the policy to take effect)
asg.add_lifecycle_hook("TerminationHook",
    lifecycle_transition=autoscaling.LifecycleTransition.INSTANCE_TERMINATING
)

Attributes

terminate_hook_abandon

Specifies the action when a termination lifecycle hook is abandoned due to failure, timeout, or explicit abandonment (calling CompleteLifecycleAction).

Set to Retain to move instances to a Retained state. Set to Terminate for default termination behavior.

Retained instances don’t count toward desired capacity and remain until you call TerminateInstanceInAutoScalingGroup.

Default:
  • No action specified