如何从 terraform variable.tf 文件中的另一个变量创建一个变量?

Ven*_*nki 3 variables terraform devops terraform-provider-azure

例如,在 variable.tf 文件中,我们有如下代码

variable "variable1" {
    type    = string
    default = "ABC"
}

variable "variable2" {
    type    = string
    default = "DEF"
}

variable "variable3" {
    type    = string
    default = "$var.variable1-$var.variable2"
}
Run Code Online (Sandbox Code Playgroud)

预期输出:

变量 3 = ABC-DEF

Mon*_*ina 8

您可以使用 local替代

locals {
  variable3 = var.variable1+"-"+var.variable2
}
Run Code Online (Sandbox Code Playgroud)

然后调用它而不是 像这样使用var. use local.

resource "exemple" "exemple" {

   exemple = local.variable3

}
Run Code Online (Sandbox Code Playgroud)

参考:https : //www.terraform.io/docs/configuration/locals.html


Cha*_* Xu 7

是的,我同意@Montassar,您可以使用该local块从现有资源或变量创建新表达式。但它应该像这样组合变量:

locals {
  variable3 = "${var.variable1}-${var.variable2}"
}
Run Code Online (Sandbox Code Playgroud)

它看起来像这样:

在此输入图像描述