Interface RetentionTriggers

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
RetentionTriggers.Jsii$Proxy

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-03-31T09:54:25.737Z") @Stability(Stable) public interface RetentionTriggers extends software.amazon.jsii.JsiiSerializable
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.

Example:

 Vpc vpc;
 InstanceType instanceType;
 IMachineImage machineImage;
 AutoScalingGroup asg = AutoScalingGroup.Builder.create(this, "ASG")
         .vpc(vpc)
         .instanceType(instanceType)
         .machineImage(machineImage)
         // Configure instance lifecycle policy
         .instanceLifecyclePolicy(InstanceLifecyclePolicy.builder()
                 .retentionTriggers(RetentionTriggers.builder()
                         .terminateHookAbandon(TerminateHookAbandonAction.RETAIN)
                         .build())
                 .build())
         .build();
 // Add termination lifecycle hook (required for the policy to take effect)
 asg.addLifecycleHook("TerminationHook", BasicLifecycleHookProps.builder()
         .lifecycleTransition(LifecycleTransition.INSTANCE_TERMINATING)
         .build());
 
  • Method Details

    • getTerminateHookAbandon

      @Stability(Stable) @Nullable default TerminateHookAbandonAction getTerminateHookAbandon()
      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

    • builder

      @Stability(Stable) static RetentionTriggers.Builder builder()
      Returns:
      a RetentionTriggers.Builder of RetentionTriggers