You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::AutoScaling::Types::LifecycleHook

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb

Overview

Describes a lifecycle hook, which tells Auto Scaling that you want to perform an action when an instance launches or terminates. When you have a lifecycle hook in place, the Auto Scaling group will either:

  • Pause the instance after it launches, but before it is put into service

  • Pause the instance as it terminates, but before it is fully terminated

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

Instance Attribute Summary collapse

Instance Attribute Details

#auto_scaling_group_nameString

The name of the Auto Scaling group for the lifecycle hook.

Returns:

  • (String)


2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 2715

class LifecycleHook < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :notification_target_arn,
  :role_arn,
  :notification_metadata,
  :heartbeat_timeout,
  :global_timeout,
  :default_result)
  include Aws::Structure
end

#default_resultString

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON. The default value is CONTINUE.

Returns:

  • (String)


2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 2715

class LifecycleHook < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :notification_target_arn,
  :role_arn,
  :notification_metadata,
  :heartbeat_timeout,
  :global_timeout,
  :default_result)
  include Aws::Structure
end

#global_timeoutInteger

The maximum time, in seconds, that an instance can remain in a Pending:Wait or Terminating:Wait state. The maximum is 172800 seconds (48 hours) or 100 times HeartbeatTimeout, whichever is smaller.

Returns:

  • (Integer)


2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 2715

class LifecycleHook < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :notification_target_arn,
  :role_arn,
  :notification_metadata,
  :heartbeat_timeout,
  :global_timeout,
  :default_result)
  include Aws::Structure
end

#heartbeat_timeoutInteger

The maximum time, in seconds, that can elapse before the lifecycle hook times out. The default is 3600 seconds (1 hour). When the lifecycle hook times out, Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

Returns:

  • (Integer)


2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 2715

class LifecycleHook < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :notification_target_arn,
  :role_arn,
  :notification_metadata,
  :heartbeat_timeout,
  :global_timeout,
  :default_result)
  include Aws::Structure
end

#lifecycle_hook_nameString

The name of the lifecycle hook.

Returns:

  • (String)


2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 2715

class LifecycleHook < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :notification_target_arn,
  :role_arn,
  :notification_metadata,
  :heartbeat_timeout,
  :global_timeout,
  :default_result)
  include Aws::Structure
end

#lifecycle_transitionString

The state of the EC2 instance to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see DescribeLifecycleHookTypes.

Returns:

  • (String)


2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 2715

class LifecycleHook < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :notification_target_arn,
  :role_arn,
  :notification_metadata,
  :heartbeat_timeout,
  :global_timeout,
  :default_result)
  include Aws::Structure
end

#notification_metadataString

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

Returns:

  • (String)


2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 2715

class LifecycleHook < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :notification_target_arn,
  :role_arn,
  :notification_metadata,
  :heartbeat_timeout,
  :global_timeout,
  :default_result)
  include Aws::Structure
end

#notification_target_arnString

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

  • Lifecycle action token

  • User account ID

  • Name of the Auto Scaling group

  • Lifecycle hook name

  • EC2 instance ID

  • Lifecycle transition

  • Notification metadata

Returns:

  • (String)


2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 2715

class LifecycleHook < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :notification_target_arn,
  :role_arn,
  :notification_metadata,
  :heartbeat_timeout,
  :global_timeout,
  :default_result)
  include Aws::Structure
end

#role_arnString

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

Returns:

  • (String)


2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 2715

class LifecycleHook < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :notification_target_arn,
  :role_arn,
  :notification_metadata,
  :heartbeat_timeout,
  :global_timeout,
  :default_result)
  include Aws::Structure
end