LifecycleHookProps

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

Bases: aws_cdk.aws_autoscaling.BasicLifecycleHookProps

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.

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

ExampleMetadata

fixture=_generated

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: autoscaling.AutoScalingGroup
# lifecycle_hook_target: autoscaling.ILifecycleHookTarget
# role: iam.Role

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

    # the properties below are optional
    default_result=autoscaling.DefaultResult.CONTINUE,
    heartbeat_timeout=cdk.Duration.minutes(30),
    lifecycle_hook_name="lifecycleHookName",
    notification_metadata="notificationMetadata",
    notification_target=lifecycle_hook_target,
    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.

Default
  • No target.

Return type

Optional[ILifecycleHookTarget]

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.

Return type

Optional[IRole]