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

Amazon web services 如何更新terraform中现有自动缩放组的启动配置,amazon-web-services,terraform,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"] }

我正在尝试使用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"
}
提供程序“aws”{
访问密钥=
机密密钥=
地区=
数据“aws\U自动校准\U组”“asgpoc”{
滤器{
name=“key”
值=[“名称”]
}
滤器{
name=“value”
值=[“asgpoc”]
}
}
输出“asgname”{
value=“${data.aws\u autoscaling\u groups.asgpoc.names}”
}
资源“aws\U自动校准组”“tf dl poc asg”{
可用性分区=[“us-west-2”]
name=“${data.aws\u autoscaling\u groups.asgpoc.names[0]}”
最大尺寸=2
最小尺寸=1
健康检查宽限期=300
健康检查类型=“EC2”
所需容量=1
强制删除=错误
启动配置=“tf\U dl\U asg\U lc”
}
当我应用terraform时,我会出错

aws\u自动校准组。tf-dl-poc-asg:创建自动校准组时出错: AlreadyExists:此名称的自动缩放组已存在-一个组 名称为asgpoc的已存在状态代码:400, 请求id:ba011d22-2624-s1ea-ace8-fbc37028ec9c


如何解决此问题?是否有其他方法使用terraform更新现有AWS ASG?

您随
数据“AWS\u autoscaling\u Group”“asgpoc”
包含的资源不受terraform控制

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"
}
您应该首先导入exist资源

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

好的。谢谢。@BMW知道为什么我会得到一个
无法导入aws\u autoscaling\u group.proxy,会与现有资源冲突吗。
使用这个时?