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

有没有办法将变量值从外部输入到terraform主文件?,terraform,Terraform,是否有一种方法可以将变量值从外部输入到terraform主文件。它可以是excel工作表或sql db。可以这样做吗?当前您不能将cmdline指向数据库,即替换tfvars文件,但您可以在Terraform中设置的是使用许多不同的键值存储: 领事 使用资源或数据存储aws参数 有相当多的其他键/值存储可供选择,但没有零代码解决方案,您最终将得到许多这样的语句: 在Consor中设置一个密钥以提供输入 有很多方法可以做到这一点 您可以在所有输入中使用tfvars文件,也可以在客户、用户和环境中使

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

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

领事 使用资源或数据存储aws参数 有相当多的其他键/值存储可供选择,但没有零代码解决方案,您最终将得到许多这样的语句:

在Consor中设置一个密钥以提供输入
有很多方法可以做到这一点

您可以在所有输入中使用tfvars文件,也可以在客户、用户和环境中使用一个文件 您可以在命令行上将变量传递给terraform可执行文件 您可以定义前缀为TF_VAR_u[variable]的环境文件 您可以按照上面的建议使用 您甚至可以将变量存储在DynamoDB或任何其他数据库中 也可以使用“咨询+Vault”
你为什么要这样做?你想在这里实现什么?@ydaetskcoR我想从网页向terraform主文件变量传递值。我将使用输入在网页上创建资源,并将这些输入作为值传递给主文件。有什么办法可以做到这一点吗?或者,如果可能的话,我可以将值从excel工作表传递到主文件吗?如果您正在编写这样做的代码,为什么不将该输入转换为tfvars文件呢?因为这些值将根据需要更改。这就是为什么我想把它作为输入。有可能吗?是的,但如果你有一些服务,人们可以输入内容并生成CSV,然后你协调指向Terraform,为什么你要费心生成CSV而不是tfvars文件?我希望在网页上从人们那里获取输入。并将这些输入作为值传递给主文件变量。可能吗?或者可以使用excel文件来存储值并将其传递到主文件中吗?另外,假设我有一个网页,并将所有值都放在那里。然后我想在tfvars文件中使用这些值,那么我们如何从tfvars文件中引用这些值?@KundanKumar,
data "consul_keys" "input" {
  key {
    name    = "size"
    path    = "tf_test/size"
    default = "m1.small"
  }
}