這一章筆記總結一下變量在Terraform裏面的定義和使用。windows
變量在Terraform裏面能夠經過多種方式來定義:數組
下面來看幾個例子ide
例1 我建立一個EC2, 把一個自定義的變量傳給個人 instance_type學習
在terraform,咱們能夠額外建立一個文件叫作 variables.tf, 在裏面聲明咱們的變量值,而後就能夠從主文件裏面去直接調用裏面的值了命令行
咱們的主文件 first_ec2.tf
orm
咱們的變量文件 variables.tf, 裏面我設置了默認值
blog
能夠看見執行的時候,他自動就替換成了咱們的默認值
字符串
例2 我在執行命令行的時候,能夠直接用參數指定新的內容, 這樣他就替換了個人默認值cmd
例3 我建立一個新的文件 terraform.tfvars, 而後在這裏面指定個人值string
執行的時候,他會自動調用 terraform.tfvar 文件的內容賦值給咱們的變量,結果以下所示 ( 效果和default相似)
注意,若是我既不設置default,也沒配置 terraform.tfvar 文件,那麼他在配置的時候會自動提示用戶手動輸入變量值
例4 我從指定的var 文件裏面獲取參數的值
我新建一個 custom.tfvars 文件,以下所示
這個文件他默認不會加載,須要咱們手動加載,這樣的好處是針對不一樣的環境,咱們能夠加載不一樣的tfvars文件來傳遞變量值
例5 環境變量中定義,windows 能夠用 setx, Linux能夠用 export 命令
我用的是windows
而後從新打開一個cmd窗口查看一下
例6 在variables.tf 文件裏面定義變量的時候,指定變量的類型,他通常包括 string, list, map 和number四種類型,理解起來就是字符串,列表(數組),字典和數字
下面的例子裏 我建立了一個ELB
定義的變量名和類型
賦值
執行便可