我想稍微重构一下Terraform脚本。
之前:
resource "aws_s3_bucket" "abc" {
bucket = "my-bucket"
acl = "private"
region = "${var.aws_region}"
tags = {
Name = "My bucket"
}
versioning {
enabled = true
mfa_delete = false
}
}
之后:
resource "aws_s3_bucket" "def" {
bucket = "my-bucket"
acl = "private"
region = "${var.aws_region}"
tags = {
Name = "My bucket"
}
versioning {
enabled = true
mfa_delete = false
}
}
您可以看到,只有名称in Terraform已更改(abc
-> def
)。
但是,这会导致terraform plan
中存储区的创建/销毁。
我希望Terraform将这些存储桶识别为相同的存储桶(它们具有相同的属性,包括bucket
)。
问题:
您可以使用terraform state mv
反映状态的这种变化。
在您的情况下,这将是
terraform state mv
根据我自己的经验,这很好用,我建议您不要使用不良名称。
Terraform无法识别此类更改,否:-)