【问题标题】:Terraform data block not picking up value from locals fileTerraform 数据块未从本地文件中获取值
【发布时间】:2022-01-03 13:04:15
【问题描述】:

我有一个“datasources.tf”,它获取现有资源,如 VPC、子网等,以及一个分配了环境值的“locals.tf”。我在数据块中传递 vpc 的名称,如下所示:

data "aws_vpc" "main" {
  tags = {
    Name = local.workspace["vpc_name"]
  }
}

本地文件如下:

locals {

  workspace  = local.env[terraform.workspace]
  aws_region = "ap-southeast-2"

  env = {
    glue-dev = {
      aws_profile = "default"
      region      = "ap-southeast-2"
      env         = "DEV1"
      vpc_name    = "DEV1-VPC"
      name_prefix = "glue-dev"
      account_id  = "AWS_account_id"
   }
}

执行 terraform 计划时,以下说明失败

 │ Error: no matching VPC found
 │ 
 │   with data.aws_vpc.main,
 │   on datasources.tf line 8, in data "aws_vpc" "main":
 │    8: data "aws_vpc" "main" {

VPC 存在,但由于某种原因,在对值进行硬编码后,数据块也没有选择 VPC。请检查我是否遗漏了什么。

【问题讨论】:

  • 这是完整的错误信息?奇怪的是,它非常短且不具体。
  • 已更新错误信息。这就是我所得到的。

标签: terraform


【解决方案1】:

local.workspace["vpc_name"] 没有引用任何内容。

可能是这样的:

data "aws_vpc" "main" {
  tags = {
    Name = local.env["glue-dev"].vpc_name
  }
}

?

【讨论】:

    猜你喜欢
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多