【问题标题】:Terraform Modules - Variables and .tfvarsTerraform 模块 - 变量和 .tfvars
【发布时间】:2019-01-21 08:01:15
【问题描述】:

遇到 Terraform 模块和变量的问题,我不知道自己做错了什么。

我有一个看起来像这样的文件夹结构;

Accounts
    |_____Account1
    |        Main.tf
    |        terraform.tfvars
    |_____Account2
    |_____Account3
    |_____Modules
             |________VPC
                      Main.tf
                      Variables.tf

在我的模块文件夹中,我有我的 main.tf 和 variables.tf,在帐户下我还有我的 main.tf(调用模块 vpc)和 terrform.tfvars。

如何使用我的 terraform.tfvars 将安全凭据传递到我的帐户文件夹中的 main.tf?

VPC 模块中我的 Variables.tf 中的变量如下所示;

variable "aws_access_key" {
  default = ""
 }

在我的帐户文件夹中,在 Main.tf 中,我尝试以这种方式调用 tfvar;

variable "aws_access_key" {}

module "VPC" {
source = "/Accounts/Modules/VPC"
aws_access_key = "${var.aws_access_key}"
}

可以运行 terraform init 没有任何问题,但尝试运行 terraform plan,它只是出现红色并且无法运行。如果我手动将变量输入到帐户文件夹中的 main.tf 中,这确实有效。但是我想将任何敏感的内容剥离到 .tfvars 文件中,这将在其他地方结束。

我希望我做错了什么!还尝试了 account1 文件夹中的 -var-file=terraform.tfvars 开关。

任何想法都会很棒。因为我读到的所有内容都倾向于暗示这应该是有效的。

谢谢 斯蒂芬

【问题讨论】:

  • 我重新创建了您上面的设置,并且能够毫无问题地进行计划。 terraform 给您的具体错误信息是什么?
  • 谢谢 jstill - 至少我没疯!因此,当我尝试运行它时,我只会得到红色的 terraform 帮助输出,就好像我输入了错误的语法一样 - 我所做的只是在其中一个帐户文件夹中运行它 - terraform plan
  • 您能否在控制台中包含显示terraform plan 行以及之后输出的前几行的屏幕截图?我觉得我以前遇到过这样的客户,希望看到这能唤起我的记忆。
  • 是的,请广告错误消息,但请不要以屏幕截图的形式,而是以文本形式。
  • 绝对没有什么是错误的。你用的是最新版本吗?如果没有,请尝试升级并查看是否有任何改变(但警告:如果您使用共享状态,它将升级状态,因此每个人都必须升级)。此外,请确保您没有任何随机的非打印字符在任何文件中浮动。那是我以前看到的问题,我不记得了。也许只是验证所有 tf​​ 文件的字符编码,以确保。

标签: variables module terraform


【解决方案1】:

刚刚从一个新文件夹中运行了这个 - 只占用了我的部分配置并且运行良好 - 所以文件中肯定有一些东西。如果其他人遇到这个

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-21
    • 2019-04-24
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多