Paws::AutoScaling::PutLifecycleHook - Arguments for method PutLifecycleHook on Paws::AutoScaling


This class represents the parameters used for calling the method PutLifecycleHook on the Auto Scaling service. Use the attributes of this class as arguments to method PutLifecycleHook.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to PutLifecycleHook.


    my $autoscaling = Paws->service('AutoScaling');
    # To create a lifecycle hook
    # This example creates a lifecycle hook.
    my $PutLifecycleHookAnswer = $autoscaling->PutLifecycleHook(
      'AutoScalingGroupName' => 'my-auto-scaling-group',
      'LifecycleHookName'    => 'my-lifecycle-hook',
      'LifecycleTransition'  => 'autoscaling:EC2_INSTANCE_LAUNCHING',
      'NotificationTargetARN' =>
        'arn:aws:sns:us-west-2:123456789012:my-sns-topic --role-arn',
      'RoleARN' => 'arn:aws:iam::123456789012:role/my-auto-scaling-role'

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see


REQUIRED AutoScalingGroupName => Str

The name of the Auto Scaling group.

DefaultResult => Str

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. This parameter can be either CONTINUE or ABANDON. The default value is ABANDON.

HeartbeatTimeout => Int

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).

If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult parameter. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

REQUIRED LifecycleHookName => Str

The name of the lifecycle hook.

LifecycleTransition => Str

The instance state to which you want to attach the lifecycle hook. The valid values are:

  • autoscaling:EC2_INSTANCE_LAUNCHING


Conditional: This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

NotificationMetadata => Str

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

NotificationTargetARN => Str

The ARN of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic.

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".

RoleARN => Str

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

Conditional: This parameter is required for new lifecycle hooks, but optional when updating existing hooks.


This class forms part of Paws, documenting arguments for method PutLifecycleHook in Paws::AutoScaling


The source code is located here:

Please report bugs to: