为什么Terraform 0.8.8一直要求我以交互方式输入变量?

时间:2018-01-10 13:38:12

标签: terraform devops devops-services

我正在使用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和评论,并将其更改为*。

谢谢,

O.R

1 个答案:

答案 0 :(得分:0)

Terraform 0.8.8是almost a year old - 从那时起可能会对completion(processedResult, exception) /变量文件的自动解析进行更改。你确认你的同事正在运行哪个版本?即使您无法升级到最新版本,也可以在团队中使用一致的版本。

在此期间,您可以明确地尝试loading a Terraform variable file using the var-file argument

.tf

您还应该仔细检查变量文件的内容是否正确 - 您正在创建一个名为terraform plan -var-file=variables.tf 的变量,但是在您的Terraform文件中的某个位置,您正在请求名为allowed_ips_app_elb_https的其他变量。< / p>