LifecycleHookProps

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

Bases: aws_cdk.aws_autoscaling.BasicLifecycleHookProps

Properties for a Lifecycle hook.

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

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

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

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

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

  • auto_scaling_group (IAutoScalingGroup) – The AutoScalingGroup to add the lifecycle hook to.

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.aws_iam as iam
import aws_cdk.core as cdk

# auto_scaling_group is of type AutoScalingGroup
# lifecycle_hook_target is of type ILifecycleHookTarget
# role is of type Role

lifecycle_hook_props = autoscaling.LifecycleHookProps(
    auto_scaling_group=auto_scaling_group,
    lifecycle_transition=autoscaling.LifecycleTransition.INSTANCE_LAUNCHING,
    notification_target=lifecycle_hook_target,

    # the properties below are optional
    default_result=autoscaling.DefaultResult.CONTINUE,
    heartbeat_timeout=cdk.Duration.minutes(30),
    lifecycle_hook_name="lifecycleHookName",
    notification_metadata="notificationMetadata",
    role=role
)

Attributes

auto_scaling_group

The AutoScalingGroup to add the lifecycle hook to.

Return type

IAutoScalingGroup

default_result

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

Default

Continue

Return type

Optional[DefaultResult]

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.

Return type

Optional[Duration]

lifecycle_hook_name

Name of the lifecycle hook.

Default
  • Automatically generated name.

Return type

Optional[str]

lifecycle_transition

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

Return type

LifecycleTransition

notification_metadata

Additional data to pass to the lifecycle hook target.

Default
  • No metadata.

Return type

Optional[str]

notification_target

The target of the lifecycle hook.

Return type

ILifecycleHookTarget

role

The role that allows publishing to the notification target.

Default
  • A role is automatically created.

Return type

Optional[IRole]