{ "$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-specification-structure.json", "name": "LifecycleHookSpecification", "description": "

Describes information used to specify a lifecycle hook for an Auto Scaling group.

For more information, see Amazon EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide.

", "type": "object", "properties": { "LifecycleHookName": { "allOf": [ { "$ref": "#/components/schemas/AsciiStringMaxLen255" }, { "description": "The name of the lifecycle hook." } ] }, "LifecycleTransition": { "allOf": [ { "$ref": "#/components/schemas/LifecycleTransition" }, { "description": "

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

" } ] }, "NotificationMetadata": { "allOf": [ { "$ref": "#/components/schemas/XmlStringMaxLen1023" }, { "description": "Additional information that you want to include 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. The range is from 30 to 7200 seconds. The default value is 3600 seconds (1 hour)." } ] }, "DefaultResult": { "allOf": [ { "$ref": "#/components/schemas/LifecycleActionResult" }, { "description": "

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

" } ] }, "NotificationTargetARN": { "allOf": [ { "$ref": "#/components/schemas/NotificationTargetResourceName" }, { "description": "The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue." } ] }, "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. For information about creating this role, see Configure a notification target for a lifecycle hook in the Amazon EC2 Auto Scaling User Guide.

Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.

" } ] } }, "required": [ "LifecycleHookName", "LifecycleTransition" ] }