Terraform – 从OS环境变量获取variable [Variable获取的优先权]
variable "test1" {
default = "s"
}
output "result_test1" {
value = var.test1
}
系统能够从TF_VAR_开头的环境变量获取variable, 例子如下

Variable 优先权
有以下4种方法,越后面就有最高权限,覆盖前面所设的值,比如:命令行参数能够覆盖前面3种的变数的设定方式
- 默认值
在 Terraform 配置文件中,通过 variable 块定义的 default 值(如果未提供其它值,则采用默认值) - 环境变量
使用前缀TF_VAR_
设置的环境变量值,例如:
export TF_VAR_image_id="ami-abc123"
3. 变量文件
Terraform 会自动加载以下文件,并依次覆盖前面的设置:
* 所有 *.auto.tfvars 或 *.auto.tfvars.json 文件(按文件名字母顺序加载)
* terraform.tfvars 文件(tf 格式)
* terraform.tfvars.json 文件(JSON 格式)
4. 命令行参数
通过命令行指定的变量值(使用 -var
或 -var-file
选项),其优先级最高,会覆盖前面的所有设置,例如:
Facebook评论