{ "$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": "
The lifecycle transition.
Valid values: autoscaling:EC2_INSTANCE_LAUNCHING | autoscaling:EC2_INSTANCE_TERMINATING
DefaultResult 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 HeartbeatTimeout, whichever is smaller."
}
]
},
"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.
Valid values: CONTINUE | ABANDON