首页 文章

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

提问于
浏览
1

我正在尝试使用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 回答

  • 1

    您使用 data "aws_autoscaling_groups" "asgpoc" 包含的资源不受terraform的控制 .

    您应该首先导入存在的资源 .

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

相关问题