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选项,可以在后面直接跟变量的定义