Amazon EC2 Auto Scaling · JSON Structure

Ec2 Auto Scaling Lifecycle Hook Structure

Describes a lifecycle hook. A lifecycle hook lets you create solutions that are aware of events in the Auto Scaling instance lifecycle, and then perform a custom action on instances when the corresponding lifecycle event occurs.

Type: object Properties: 9
Amazon Web ServicesAuto ScalingComputeEC2High AvailabilityScaling

LifecycleHook is a JSON Structure definition published by Amazon EC2 Auto Scaling, describing 9 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

LifecycleHookName AutoScalingGroupName LifecycleTransition NotificationTargetARN RoleARN NotificationMetadata HeartbeatTimeout GlobalTimeout DefaultResult

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-ec2-auto-scaling/refs/heads/main/json-structure/ec2-auto-scaling-lifecycle-hook-structure.json",
  "name": "LifecycleHook",
  "description": "Describes a lifecycle hook. A lifecycle hook lets you create solutions that are aware of events in the Auto Scaling instance lifecycle, and then perform a custom action on instances when the corresponding lifecycle event occurs.",
  "type": "object",
  "properties": {
    "LifecycleHookName": {
      "allOf": [
        {
          "$ref": "#/components/schemas/AsciiStringMaxLen255"
        },
        {
          "description": "The name of the lifecycle hook."
        }
      ]
    },
    "AutoScalingGroupName": {
      "allOf": [
        {
          "$ref": "#/components/schemas/XmlStringMaxLen255"
        },
        {
          "description": "The name of the Auto Scaling group for the lifecycle hook."
        }
      ]
    },
    "LifecycleTransition": {
      "allOf": [
        {
          "$ref": "#/components/schemas/LifecycleTransition"
        },
        {
          "description": "<p>The lifecycle transition.</p> <p>Valid values: <code>autoscaling:EC2_INSTANCE_LAUNCHING</code> | <code>autoscaling:EC2_INSTANCE_TERMINATING</code> </p>"
        }
      ]
    },
    "NotificationTargetARN": {
      "allOf": [
        {
          "$ref": "#/components/schemas/NotificationTargetResourceName"
        },
        {
          "description": "The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook."
        }
      ]
    },
    "RoleARN": {
      "allOf": [
        {
          "$ref": "#/components/schemas/XmlStringMaxLen255"
        },
        {
          "description": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target (an Amazon SNS topic or an Amazon SQS queue)."
        }
      ]
    },
    "NotificationMetadata": {
      "allOf": [
        {
          "$ref": "#/components/schemas/XmlStringMaxLen1023"
        },
        {
          "description": "Additional information that is included any time Amazon EC2 Auto Scaling sends a message to the notification target."
        }
      ]
    },
    "HeartbeatTimeout": {
      "allOf": [
        {
          "$ref": "#/components/schemas/HeartbeatTimeout"
        },
        {
          "description": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the <code>DefaultResult</code> property."
        }
      ]
    },
    "GlobalTimeout": {
      "allOf": [
        {
          "$ref": "#/components/schemas/GlobalTimeout"
        },
        {
          "description": "The maximum time, in seconds, that an instance can remain in a wait state. The maximum is 172800 seconds (48 hours) or 100 times <code>HeartbeatTimeout</code>, whichever is smaller."
        }
      ]
    },
    "DefaultResult": {
      "allOf": [
        {
          "$ref": "#/components/schemas/LifecycleActionResult"
        },
        {
          "description": "<p>The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs.</p> <p>Valid values: <code>CONTINUE</code> | <code>ABANDON</code> </p>"
        }
      ]
    }
  }
}