java定义变量的输入_Terraform中输入变量
Terraform中輸入變量
把所有的信息,如access_key等全部硬編碼顯然是不安全的。因此需要能夠參數化配置。
變量定義
首先需要先定義(聲明)變量,放到一個.tf文件中,如:
variable "access_key" {}
variable "secret_key" {}
variable "region" {
default = "us-east-1"
}
上面定義了三個變量。前兩個變量是空的,第三個給了一個默認值(默認參數)。此時運行terraform plan,Terraform會提示輸入這些尚未定義的變量。
在配置中使用變量
變量定義好后,就可以引用這些變量來進行Terraform的配置,如:
provider "aws" {
access_key="${var.access_key}"
secret_key="${var.secret_key}"
region="${var.region}"
}
引用變量,使用${var.xxx}的形式。
變量賦值
前面我們聲明了變量,但是還沒有給變量賦值,無法真正使用。給變量賦值,有以下幾種方法,下面幾種方法按照變量賦值的優先順序排序。
Command-line flags
使用terraform的各種命令時,使用-var選項,可以在后面直接跟變量的定義,如: # terraform apply \
-var 'access_key=foo'
-var 'secret_key=bar'
# ...
以這種方式賦值變量是一次性的,并不會保存它們的值,也就是說下一次重新執行命令時,需要重新賦值。
從文件導入
為永久性存儲一個變量的值,可以將其放在文件中保存。Terraform會自動加載當前目錄下擴展名為.tfvars和.auto.tfvars的文件來填充定義的變量。如果以其他格式存放,可以使用-var-file選項來手動指定需要加載的變量值文件。這些文件使用Terraform格式或JSON格式。
使用文件也方便版本控制,但是用戶名、密碼這種東西就不要用版本控制管理的。因此可以將用戶名和密碼這類信息單獨放在一個文件中,使用-var-file來手動指定。其他的,可以自動填充,方便使用版本控制管理的,可以直接放在.tfvars文件中,Terraform會自動加載。
環境變量
Terraform會讀取TF_VAR_name這種格式的環境變量,用來填充定義好的變量。比如,環境變量中有一個TF_VAR_access_key的變量,Terraform就會讀取到,并用于填充access_key變量。
default值
如果某個變量沒有采用以上任何一種方法來進行賦值,那么如果在變量的定義中有個default屬性,那么Terraform就會使用default的值來對變量進行賦值。
交互輸入
沒有使用任何方法來對變量賦值,在輸入命令時使得Terraform不知道如何處理,此時就會出現交互界面,讓用戶手動輸入變量值,來給變量賦值。
轉載至鏈接:https://my.oschina.net/u/2561528/blog/1933533
總結
以上是生活随笔為你收集整理的java定义变量的输入_Terraform中输入变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux路由信息预览为空,route
- 下一篇: 事业单位计算机初级考试科目一模拟试题,广