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

Class: Aws::AutoScaling::Types::PutLifecycleHookType

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

Overview

Note:

When making an API call, you may pass PutLifecycleHookType data as a hash:

{
  lifecycle_hook_name: "AsciiStringMaxLen255", # required
  auto_scaling_group_name: "ResourceName", # required
  lifecycle_transition: "LifecycleTransition",
  role_arn: "ResourceName",
  notification_target_arn: "NotificationTargetResourceName",
  notification_metadata: "XmlStringMaxLen1023",
  heartbeat_timeout: 1,
  default_result: "LifecycleActionResult",
}

Instance Attribute Summary collapse

Instance Attribute Details

#auto_scaling_group_nameString

The name of the Auto Scaling group.

Returns:

  • (String)


3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 3726

class PutLifecycleHookType < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :role_arn,
  :notification_target_arn,
  :notification_metadata,
  :heartbeat_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. This parameter can be either CONTINUE or ABANDON. The default value is ABANDON.

Returns:

  • (String)


3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 3726

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

#heartbeat_timeoutInteger

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.

Returns:

  • (Integer)


3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 3726

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

#lifecycle_hook_nameString

The name of the lifecycle hook.

Returns:

  • (String)


3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 3726

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

#lifecycle_transitionString

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

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

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

Returns:

  • (String)


3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 3726

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

#notification_metadataString

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

Returns:

  • (String)


3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 3726

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

#notification_target_arnString

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

Returns:

  • (String)


3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 3726

class PutLifecycleHookType < Struct.new(
  :lifecycle_hook_name,
  :auto_scaling_group_name,
  :lifecycle_transition,
  :role_arn,
  :notification_target_arn,
  :notification_metadata,
  :heartbeat_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, 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.

Returns:

  • (String)


3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/types.rb', line 3726

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