0

我正在使用 Terraform 0.8.8,它一直要求我以交互方式输入某些变量(第一个是var.allowed_ips_app_elb_https_env_specific)。

我有一个 variables.tf 文件,其中包含我要输入的所有变量,但是当我运行 terraform 计划时它一直要求我输入它们。

我们所有的代码都已提交给我们内部的 Gitlab,我的同事可以运行相同的代码,而无需要求他以交互方式输入变量。

以下是 variables.tf 文件的一部分,要求我在运行计划命令时输入变量。

# Allowed IPs to both dev/prod environments.
variable "allowed_ips_app_elb_https" {
  default =
  [ "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
    "*.*.*.*/*",      # *
  ]
}

^ 我已删除 IP 和评论并将其更改为 *.

谢谢,

或者

4

1 回答 1

0

Terraform 0.8.8 已经快一年了- 从那时起,可能已经对.tf/ 变量文件的自动解析进行了更改。您是否验证过您的同事正在运行哪个版本?即使您无法升级到最新版本,跨团队使用一致的版本也是一个好主意。

同时,您可以尝试使用 var-file 参数显式加载 Terraform 变量文件

terraform plan -var-file=variables.tf

您还应该仔细检查变量文件的内容是否正确 - 您正在创建一个名为 的变量allowed_ips_app_elb_https,但在 Terraform 文件的某处您正在请求一个名为allowed_ips_app_elb_https_env_specific.

于 2018-01-11T10:25:40.767 回答