📅  最后修改于: 2023-12-03 15:10:38.231000             🧑  作者: Mango
在 Terraform 中,存在多种方式可以创建变量,以便在模块中达到更好的健壮性和可移植性。下面是常用的几种方式:
variable
声明变量可以使用 variable
来通过变量名来定义变量的类型、默认值和描述等信息,如下所示:
variable "region" {
description = "AWS region to deploy the resources."
type = string
default = "us-west-2"
}
在上述示例中,我们声明了一个名为 region
的变量,其类型为字符串,有一个默认值设置为 "us-west-2"
,以及一个描述信息 "AWS region to deploy the resources."
。
在执行 terraform apply
或 terraform plan
命令时,可以通过 -var
参数来传递变量的值,如下所示:
$ terraform plan -var="region=us-west-2"
在上述示例中,我们使用 -var
参数将 region
变量的值设置为 "us-west-2"
。
在执行 terraform apply
或 terraform plan
命令时,我们还可以通过设置环境变量来传递变量的值,如下所示:
$ export TF_VAR_region=us-west-2
$ terraform plan
在上述示例中,我们使用 export
命令定义了一个名为 TF_VAR_region
的环境变量,并将其值设置为 "us-west-2"
。此时,在执行 terraform plan
命令时,Terraform 会自动识别该环境变量,并使用其值作为变量 region
的值。
Terraform 还支持通过 .tfvars
文件来定义变量,如下所示:
region = "us-west-2"
在上述示例中,我们在 .tfvars
文件中定义了一个名为 region
的变量,并将其值设置为 "us-west-2"
。然后,在执行 terraform apply
或 terraform plan
命令时,Terraform 会自动读取该文件,并将其中的变量值应用到配置中。
以上是常用的几种在 Terraform 中定义变量的方式。通过学习这些方法,我们可以更好地管理 Terraform 配置中的变量,使其更加健壮和可移植。