【问题标题】:Terraform - variable definitionTerraform - 变量定义
【发布时间】:2017-09-20 22:37:30
【问题描述】:

我继承了一个包含两个文件的项目:

a.tf
dir_name/b.tf

每个都包含:

variable "region" {
  default = "us-east-1"
}

我有什么理由不能从dir_name/b.tf 中删除变量定义,因为它似乎已经定义了?

更新

a.tf 包含一个模块定义,如下所示:

module "dir_name" {
  source   = "./dir_name"
}

【问题讨论】:

  • dir的内容是否被视为一个模块?
  • 不 - 没有 module 定义
  • 好的。当您运行这些时,您是针对父文件夹还是子文件夹运行 terraform?
  • 这可能是两个完全独立的 terraform 脚本,只是其中一个恰好存储在另一个的子目录中?是否有来自父级的dirdir 中的../ 的引用?
  • 糟糕。看来我错过了一个模块定义。查看我的更新。

标签: terraform


【解决方案1】:

不,您不能删除其中一个。 Terraform 在模块级别上工作,每个模块都有一组明确的输入变量和输出属性;变量不能从一个脚本隐式传递到模块。

如果您将变量从一个地方传递到另一个地方,目前确实会导致大量重复,例如:

module "dir_name" {
  source   = "./dir_name"
  region   = "${var.region}"
}

【讨论】:

    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 2021-06-11
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 2021-01-14
    • 2022-11-11
    相关资源
    最近更新 更多