Class PutLifecycleHookRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<PutLifecycleHookRequest.Builder,PutLifecycleHookRequest>

@Generated("software.amazon.awssdk:codegen") public final class PutLifecycleHookRequest extends AutoScalingRequest implements ToCopyableBuilder<PutLifecycleHookRequest.Builder,PutLifecycleHookRequest>
  • Method Details

    • lifecycleHookName

      public final String lifecycleHookName()

      The name of the lifecycle hook.

      Returns:
      The name of the lifecycle hook.
    • autoScalingGroupName

      public final String autoScalingGroupName()

      The name of the Auto Scaling group.

      Returns:
      The name of the Auto Scaling group.
    • lifecycleTransition

      public final String lifecycleTransition()

      The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.

      • To create a lifecycle hook for scale-out events, specify autoscaling:EC2_INSTANCE_LAUNCHING.

      • To create a lifecycle hook for scale-in events, specify autoscaling:EC2_INSTANCE_TERMINATING.

      Required for new lifecycle hooks, but optional when updating existing hooks.

      Returns:
      The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.

      • To create a lifecycle hook for scale-out events, specify autoscaling:EC2_INSTANCE_LAUNCHING.

      • To create a lifecycle hook for scale-in events, specify autoscaling:EC2_INSTANCE_TERMINATING .

      Required for new lifecycle hooks, but optional when updating existing hooks.

    • roleARN

      public final String roleARN()

      The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

      Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue. Required for new lifecycle hooks, but optional when updating existing hooks.

      Returns:
      The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

      Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue. Required for new lifecycle hooks, but optional when updating existing hooks.

    • notificationTargetARN

      public final String notificationTargetARN()

      The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in a wait state for the lifecycle hook. You can specify either an Amazon SNS topic or an Amazon SQS queue.

      If you specify an empty string, this overrides the current ARN.

      This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic.

      When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: "Event": "autoscaling:TEST_NOTIFICATION".

      Returns:
      The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in a wait state for the lifecycle hook. You can specify either an Amazon SNS topic or an Amazon SQS queue.

      If you specify an empty string, this overrides the current ARN.

      This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic.

      When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: "Event": "autoscaling:TEST_NOTIFICATION".

    • notificationMetadata

      public final String notificationMetadata()

      Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

      Returns:
      Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.
    • heartbeatTimeout

      public final Integer heartbeatTimeout()

      The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default value is 3600 seconds (1 hour).

      Returns:
      The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default value is 3600 seconds (1 hour).
    • defaultResult

      public final String defaultResult()

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

      Valid values: CONTINUE | ABANDON

      Returns:
      The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ABANDON.

      Valid values: CONTINUE | ABANDON

    • toBuilder

      public PutLifecycleHookRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<PutLifecycleHookRequest.Builder,PutLifecycleHookRequest>
      Specified by:
      toBuilder in class AutoScalingRequest
      Returns:
      a builder for type T
    • builder

      public static PutLifecycleHookRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends PutLifecycleHookRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.