2017-10-09 164 views
0

我想从外部YAML文件或像Hiera这样的数据库将变量读入我的Terraform配置文件,我该怎么做?例如:Terraform:如何从YAML文件中将变量读入Terraform?或者像Hiera那样的数据库?

provider "aws" { 
    region = hiera('virginia') # this should look up for virginia=us-east-1 
} 

resource "aws_instance" { 
    ami = hiera('production') 
    .... 
    .... 
} 

基本上它类似于木偶体现/ CONFIGS使用hiera或YAML文件,我们如何能做到查找。

+0

您需要自行开发该提供程序,或者编写一个包装脚本来读取yaml和feed,如TF_VAR_ ,例如'TF_VAR_virginia' – BMW

回答

0

您必须将变量移动到terraform.tfvars或* .auto.tfvars文件。

https://www.terraform.io/intro/getting-started/variables.html#from-a-file

要坚持变量值,创建一个文件并在 该文件分配变量。具有以下 内容创建一个文件名为terraform.tfvars:

access_key = “富” 目前

SECRET_KEY = “酒吧”

对于匹配terraform.tfvars或所有文件* .auto.tfvars在当前目录 中,Terraform会自动加载它们以填充 变量。如果该文件被命名为其他文件,则可以直接使用 -var-file标志来指定文件。这些文件与Terraform配置文件的语法相同。和Terraform 配置文件一样,这些文件也可以是JSON。