Terraform 从v0.11到v0.12的地形迁移存在标签问题

Terraform 从v0.11到v0.12的地形迁移存在标签问题,terraform,Terraform,我正在尝试将我的terraform plan从v0.11迁移到v0.12 terraform版本,当我执行验证时,我出现了一些错误,出现了相同的错误:“不支持的块类型”,服务将故障标记到带有该注释的“标记”标记中: 此处不需要“标记”类型的块。你的意思是定义参数“标签”吗?如果是,请使用等号为其赋值 例如,这是一个令人不安的资源: resource "aws_vpc" "VPC" { cidr_block = "10.0.0.0/24" enable_dns_host

我正在尝试将我的terraform plan从v0.11迁移到v0.12 terraform版本,当我执行验证时,我出现了一些错误,出现了相同的错误:“不支持的块类型”,服务将故障标记到带有该注释的“标记”标记中:

此处不需要“标记”类型的块。你的意思是定义参数“标签”吗?如果是,请使用等号为其赋值

例如,这是一个令人不安的资源:

resource "aws_vpc" "VPC" {
  cidr_block           = "10.0.0.0/24"
  enable_dns_hostnames = "true"
  enable_dns_support   = "true"

  tags {
    Name        = "${var.name}-VPC-Default"
    Environment = var.env
    Region      = var.region
  }
}
我阅读了有关此资源的文档,这些文档支持标记类型“TAGS”,在v0.11版本中,它运行良好


关于我的问题有什么建议吗?

错误是解释在Terraform 0.12
中,标签不再是块,而是现在的参数。地形中的块显示为:

block { ... }
argument = value
这就是您的标记当前的显示方式。一个参数如下所示:

block { ... }
argument = value
因此,您需要将
标记
从块转换为参数。可按如下方式进行:

tags = {
  Name        = "${var.name}-VPC-Default"
  Environment = var.env
  Region      = var.region
}

其中,
标记
现在被分配给以前包含在块中的
映射
值。

Terraform 0.12升级指南中有更多关于这方面的内容: