Skip to content
v2.275.0

BasicLifecycleHookProps Struct ​

Basic properties for a lifecycle hook.

Example ​

ts
declare const vpc: ec2.Vpc;
declare const instanceType: ec2.InstanceType;
declare const machineImage: ec2.IMachineImage;

const asg = new autoscaling.AutoScalingGroup(this, 'ASG', {
  vpc,
  instanceType,
  machineImage,

  // Configure instance lifecycle policy
  instanceLifecyclePolicy: {
    retentionTriggers: {
      terminateHookAbandon: autoscaling.TerminateHookAbandonAction.RETAIN,
    },
  },
});

// Add termination lifecycle hook (required for the policy to take effect)
asg.addLifecycleHook('TerminationHook', {
  lifecycleTransition: autoscaling.LifecycleTransition.INSTANCE_TERMINATING,
});

Properties ​

defaultResultoptionalDefaultResultdefault_resultoptionalDefaultResultdefaultResultoptionalDefaultResultDefaultResultoptionalDefaultResultDefaultResultoptionalDefaultResult= Continue#
The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs.
heartbeatTimeoutoptionalDurationheartbeat_timeoutoptionalDurationheartbeatTimeoutoptionalDurationHeartbeatTimeoutoptionalDurationHeartbeatTimeoutoptionalDuration#
Maximum time between calls to RecordLifecycleActionHeartbeat for the hook.

Default: No heartbeat timeout.

If the lifecycle hook times out, perform the action in DefaultResult.

lifecycleHookNameoptionalstringlifecycle_hook_nameoptionalstrlifecycleHookNameoptionalStringLifecycleHookNameoptionalstringLifecycleHookNameoptional*string#
Name of the lifecycle hook.

Default: Automatically generated name.

lifecycleTransitionLifecycleTransitionlifecycle_transitionLifecycleTransitionlifecycleTransitionLifecycleTransitionLifecycleTransitionLifecycleTransitionLifecycleTransitionLifecycleTransitionrequired#
The state of the Amazon EC2 instance to which you want to attach the lifecycle hook.
notificationMetadataoptionalstringnotification_metadataoptionalstrnotificationMetadataoptionalStringNotificationMetadataoptionalstringNotificationMetadataoptional*string#
Additional data to pass to the lifecycle hook target.

Default: No metadata.

notificationTargetoptionalILifecycleHookTargetnotification_targetoptionalILifecycleHookTargetnotificationTargetoptionalILifecycleHookTargetNotificationTargetoptionalILifecycleHookTargetNotificationTargetoptionalILifecycleHookTarget#
The target of the lifecycle hook.

Default: No target.

roleoptionalIRoleroleoptionalIRoleroleoptionalIRoleRoleoptionalIRoleRoleoptionalIRole#
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.