【问题标题】:Terraform migration from v0.11 to v0.12 problem with tagsTerraform 从 v0.11 迁移到 v0.12 的标签问题
【发布时间】:2020-04-22 00:32:59
【问题描述】:

我正在尝试将我的 terraform 计划从 v0.11 迁移到 v0.12 terraform 版本,当我执行验证时,我遇到了同样的错误:“Unsupported block type”和服务将问题标记到带有该注释的“TAGS”标签中:

此处不应出现“标签”类型的块。您的意思是定义参数“标签”吗?如果是这样,请使用等号为其赋值。

一个例子就是这个令人不安的资源:

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


    【解决方案1】:

    错误解释了在 Terraform 0.12 中 tags 不再是一个块,而是现在一个参数。 Terraform 中的一个块如下所示:

    block { ... }
    

    这是您的标签当前的显示方式。一个参数看起来像:

    argument = value
    

    因此,您需要将 tags 从块转换为参数。可以这样做:

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

    tags 现在被分配了您以前包含在块中的 map 值。

    【讨论】:

    猜你喜欢
    • 2019-12-05
    • 2011-07-03
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 2011-09-12
    相关资源
    最近更新 更多