有没有办法从外部向terraform主文件输入变量值?

时间:2019-02-22 05:19:48

标签: terraform

有没有一种方法可以将外部的变量值输入到terraform主文件中。它可以是Excel工作表或sql db。有可能这样做吗?

2 个答案:

答案 0 :(得分:0)

当前无法执行的操作是将cmdline指向数据库,即替换tfvars文件,但是您可以在Terraform中设置的方法是使用许多不同的键值存储:

领事

https://www.terraform.io/intro/examples/consul.html

aws参数存储(使用资源或数据)

https://www.terraform.io/docs/providers/aws/d/ssm_parameter.html

还有很多其他键/值存储库可供选择,但是没有零代码解决方案,您最终会得到很多这样的语句:

在领事中设置密钥以提供输入

data "consul_keys" "input" {
  key {
    name    = "size"
    path    = "tf_test/size"
    default = "m1.small"
  }
}

答案 1 :(得分:0)

有很多方法可以做到这一点;

  1. 您可以在所有输入中使用tfvars文件,并且可以使用一个文件的客户,用户,环境
  2. 您可以在命令行上将变量传递给terraform可执行文件
  3. 您可以定义以TF_VAR_ [variable]开头的环境文件
  4. 您可以按照上面的建议使用https://www.terraform.io/docs/providers/aws/d/ssm_parameter.html
  5. 您甚至可以将变量存储在DynamoDB或任何其他数据库中
  6. 您也可以使用Consult + Vault