docs/aws: Document initial_lifecycle_hook in aws_autoscaling_group
This is a useful feature that seems to have been added in September,
with 7dd7078
, but has not yet been documented.
This commit is contained in:
parent
9205d25d38
commit
051a4227d0
|
@ -30,11 +30,28 @@ resource "aws_autoscaling_group" "bar" {
|
||||||
placement_group = "${aws_placement_group.test.id}"
|
placement_group = "${aws_placement_group.test.id}"
|
||||||
launch_configuration = "${aws_launch_configuration.foobar.name}"
|
launch_configuration = "${aws_launch_configuration.foobar.name}"
|
||||||
|
|
||||||
|
initial_lifecycle_hook {
|
||||||
|
name = "foobar"
|
||||||
|
default_result = "CONTINUE"
|
||||||
|
heartbeat_timeout = 2000
|
||||||
|
lifecycle_transition = "autoscaling:EC2_INSTANCE_LAUNCHING"
|
||||||
|
|
||||||
|
notification_metadata = <<EOF
|
||||||
|
{
|
||||||
|
"foo": "bar"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
notification_target_arn = "arn:aws:sqs:us-east-1:444455556666:queue1*"
|
||||||
|
role_arn = "arn:aws:iam::123456789012:role/S3Access"
|
||||||
|
}
|
||||||
|
|
||||||
tag {
|
tag {
|
||||||
key = "foo"
|
key = "foo"
|
||||||
value = "bar"
|
value = "bar"
|
||||||
propagate_at_launch = true
|
propagate_at_launch = true
|
||||||
}
|
}
|
||||||
|
|
||||||
tag {
|
tag {
|
||||||
key = "lorem"
|
key = "lorem"
|
||||||
value = "ipsum"
|
value = "ipsum"
|
||||||
|
@ -54,6 +71,12 @@ The following arguments are supported:
|
||||||
* `availability_zones` - (Optional) A list of AZs to launch resources in.
|
* `availability_zones` - (Optional) A list of AZs to launch resources in.
|
||||||
Required only if you do not specify any `vpc_zone_identifier`
|
Required only if you do not specify any `vpc_zone_identifier`
|
||||||
* `launch_configuration` - (Required) The name of the launch configuration to use.
|
* `launch_configuration` - (Required) The name of the launch configuration to use.
|
||||||
|
* `initial_lifecycle_hook` - (Optional) One or more
|
||||||
|
[Lifecycle Hooks](http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html)
|
||||||
|
to attach to the autoscaling group **before** instances are launched. The
|
||||||
|
syntax is exactly the same as the separate
|
||||||
|
[`aws_autoscaling_lifecycle_hook`](/docs/providers/aws/r/autoscaling_lifecycle_hooks.html)
|
||||||
|
resource, without the `autoscaling_group_name` attribute.
|
||||||
* `health_check_grace_period` - (Optional, Default: 300) Time (in seconds) after instance comes into service before checking health.
|
* `health_check_grace_period` - (Optional, Default: 300) Time (in seconds) after instance comes into service before checking health.
|
||||||
* `health_check_type` - (Optional) "EC2" or "ELB". Controls how health checking is done.
|
* `health_check_type` - (Optional) "EC2" or "ELB". Controls how health checking is done.
|
||||||
* `desired_capacity` - (Optional) The number of Amazon EC2 instances that
|
* `desired_capacity` - (Optional) The number of Amazon EC2 instances that
|
||||||
|
@ -120,7 +143,18 @@ The following attributes are exported:
|
||||||
* `target_group_arns` (Optional) list of Target Group ARNs that apply to this
|
* `target_group_arns` (Optional) list of Target Group ARNs that apply to this
|
||||||
AutoScaling Group
|
AutoScaling Group
|
||||||
|
|
||||||
~> **NOTE:** When using `ELB` as the health_check_type, `health_check_grace_period` is required.
|
~> **NOTE:** When using `ELB` as the `health_check_type`, `health_check_grace_period` is required.
|
||||||
|
|
||||||
|
~> **NOTE:** Terraform has two types of ways you can add lifecycle hooks - via
|
||||||
|
the `initial_lifecycle_hook` attribute from this resource, or via the separate
|
||||||
|
[`aws_autoscaling_lifecycle_hook`](/docs/providers/aws/r/autoscaling_lifecycle_hooks.html)
|
||||||
|
resource. `initial_lifecycle_hook` exists here because any lifecycle hooks
|
||||||
|
added with `aws_autoscaling_lifecycle_hook` will not be added until the
|
||||||
|
autoscaling group has been created, and depending on your
|
||||||
|
[capacity](#waiting-for-capacity) settings, after the initial instances have
|
||||||
|
been launched, creating unintended behavior. If you need hooks to run on all
|
||||||
|
instances, add them with `initial_lifecycle_hook` here, but take
|
||||||
|
care to not duplicate these hooks in `aws_autoscaling_lifecycle_hook`.
|
||||||
|
|
||||||
## Waiting for Capacity
|
## Waiting for Capacity
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,18 @@ description: |-
|
||||||
|
|
||||||
Provides an AutoScaling Lifecycle Hook resource.
|
Provides an AutoScaling Lifecycle Hook resource.
|
||||||
|
|
||||||
|
~> **NOTE:** Terraform has two types of ways you can add lifecycle hooks - via
|
||||||
|
the `initial_lifecycle_hook` attribute from the
|
||||||
|
[`aws_autoscaling_group`](/docs/providers/aws/r/autoscaling_group.html)
|
||||||
|
resource, or via this one. Hooks added via this resource will not be added
|
||||||
|
until the autoscaling group has been created, and depending on your
|
||||||
|
[capacity](/docs/providers/aws/r/autoscaling_group.html#waiting-for-capacity)
|
||||||
|
settings, after the initial instances have been launched, creating unintended
|
||||||
|
behavior. If you need hooks to run on all instances, add them with
|
||||||
|
`initial_lifecycle_hook` in
|
||||||
|
[`aws_autoscaling_group`](/docs/providers/aws/r/autoscaling_group.html),
|
||||||
|
but take care to not duplicate those hooks with this resource.
|
||||||
|
|
||||||
## Example Usage
|
## Example Usage
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in New Issue