2017-10-09 30 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。