我正在尝试使用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?
答案 0 :(得分:1)
您在data "aws_autoscaling_groups" "asgpoc"
中添加的资源不受terraform的控制。
您应首先导入现有资源。
terraform import aws_autoscaling_group.tf-dl-poc-asg asgpoc