📜  有多少种方法可以在 terraform 中创建变量 (1)

📅  最后修改于: 2023-12-03 15:10:38.231000             🧑  作者: Mango

有多少种方法可以在 Terraform 中创建变量

在 Terraform 中,存在多种方式可以创建变量,以便在模块中达到更好的健壮性和可移植性。下面是常用的几种方式:

1. 使用 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."

2. 通过命令行参数定义变量

在执行 terraform applyterraform plan 命令时,可以通过 -var 参数来传递变量的值,如下所示:

$ terraform plan -var="region=us-west-2"

在上述示例中,我们使用 -var 参数将 region 变量的值设置为 "us-west-2"

3. 使用环境变量定义变量

在执行 terraform applyterraform plan 命令时,我们还可以通过设置环境变量来传递变量的值,如下所示:

$ export TF_VAR_region=us-west-2
$ terraform plan

在上述示例中,我们使用 export 命令定义了一个名为 TF_VAR_region 的环境变量,并将其值设置为 "us-west-2"。此时,在执行 terraform plan 命令时,Terraform 会自动识别该环境变量,并使用其值作为变量 region 的值。

4. 在 tfvars 文件中定义变量

Terraform 还支持通过 .tfvars 文件来定义变量,如下所示:

region = "us-west-2"

在上述示例中,我们在 .tfvars 文件中定义了一个名为 region 的变量,并将其值设置为 "us-west-2"。然后,在执行 terraform applyterraform plan 命令时,Terraform 会自动读取该文件,并将其中的变量值应用到配置中。

总结

以上是常用的几种在 Terraform 中定义变量的方式。通过学习这些方法,我们可以更好地管理 Terraform 配置中的变量,使其更加健壮和可移植。