如何更新terraform中现有自动缩放组的启动配置

时间:2017-08-21 05:19:27

标签: amazon-web-services terraform

我正在尝试使用terraform更新现有的AWS自动缩放组(已经手动创建了很长时间)。

provider "aws" {
access_key = <Access_key>
secret_key = <Secret_key>
region     = <REGION>

data "aws_autoscaling_groups" "asgpoc" {
 filter {
  name = "key"
  values = ["Name"]
 }

 filter {
  name = "value"
  values = ["asgpoc"]
 }
}
output "asgname" {
 value = "${data.aws_autoscaling_groups.asgpoc.names}"
}

resource "aws_autoscaling_group" "tf-dl-poc-asg" {
 availability_zones        = ["us-west-2"]
 name                      = "${data.aws_autoscaling_groups.asgpoc.names[0]}"
 max_size                  = 2
 min_size                  = 1
 health_check_grace_period = 300
 health_check_type         = "EC2"
 desired_capacity          = 1
 force_delete              = false
 launch_configuration      = "tf_dl_asg_lc"
}

当我做terraform应用时,我收到错误,

  

aws_autoscaling_group.tf-dl-poc-asg:创建AutoScaling组时出错:   AlreadyExists:此名称的AutoScalingGroup已经存在 - 一个组   名称asgpoc已存在状态码:400,   请求ID:ba011d22-2624-s1ea-ace8-fbc37028ec9c

如何解决这个问题?是否有任何替代方法可以使用terraform更新现有AWS ASG?

1 个答案:

答案 0 :(得分:1)

您在data "aws_autoscaling_groups" "asgpoc"中添加的资源不受terraform的控制。

您应首先导入现有资源。

terraform import aws_autoscaling_group.tf-dl-poc-asg asgpoc