BasicLifecycleHookProps

class aws_cdk.aws_autoscaling.BasicLifecycleHookProps(*, lifecycle_transition, default_result=None, heartbeat_timeout=None, lifecycle_hook_name=None, notification_metadata=None, notification_target=None, role=None)

Bases: object

Basic properties for a lifecycle hook.

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

  • 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.

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

default_result

The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs.

Default:

Continue

heartbeat_timeout

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

Name of the lifecycle hook.

Default:
  • Automatically generated name.

lifecycle_transition

The state of the Amazon EC2 instance to which you want to attach the lifecycle hook.

notification_metadata

Additional data to pass to the lifecycle hook target.

Default:
  • No metadata.

notification_target

The target of the lifecycle hook.

Default:
  • No target.

role

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.