alicloud_ess_lifecycle_hook

Provides a ESS lifecycle hook resource. More about Ess lifecycle hook, see LifecycleHook.

Example Usage

variable "name" {
  default = "terraform-example"
}

resource "random_integer" "default" {
  min = 10000
  max = 99999
}

locals {
  name = "${var.name}-${random_integer.default.result}"
}

data "alicloud_zones" "default" {
  available_disk_category     = "cloud_efficiency"
  available_resource_creation = "VSwitch"
}

resource "alicloud_vpc" "default" {
  vpc_name   = local.name
  cidr_block = "172.16.0.0/16"
}

resource "alicloud_vswitch" "default" {
  vpc_id       = alicloud_vpc.default.id
  cidr_block   = "172.16.0.0/24"
  zone_id      = data.alicloud_zones.default.zones[0].id
  vswitch_name = local.name
}

resource "alicloud_vswitch" "default2" {
  vpc_id       = alicloud_vpc.default.id
  cidr_block   = "172.16.1.0/24"
  zone_id      = data.alicloud_zones.default.zones[0].id
  vswitch_name = "${var.name}-bar"
}

resource "alicloud_security_group" "default" {
  name   = local.name
  vpc_id = alicloud_vpc.default.id
}

resource "alicloud_ess_scaling_group" "default" {
  min_size           = "1"
  max_size           = "1"
  scaling_group_name = local.name
  default_cooldown   = 200
  removal_policies   = ["OldestInstance", "NewestInstance"]
  vswitch_ids        = [alicloud_vswitch.default.id, alicloud_vswitch.default2.id]
}

resource "alicloud_ess_lifecycle_hook" "default" {
  scaling_group_id      = alicloud_ess_scaling_group.default.id
  name                  = local.name
  lifecycle_transition  = "SCALE_OUT"
  heartbeat_timeout     = 400
  notification_metadata = "example"
}

Module Support

You can use to the existing autoscaling module to create a lifecycle hook, scaling group and configuration one-click.

Argument Reference

The following arguments are supported:

Attribute Reference

The following attributes are exported:

Import

Ess lifecycle hook can be imported using the id, e.g.

$ terraform import alicloud_ess_lifecycle_hook.example ash-l12345