如何根据 terraform 中另一个变量的值设置一个变量值?

How can I set a variable a value based on the value of another variable in terraform?

我在 vars.tf

中有一个地形变量
var "isadd1DiskSourceExists"
{
  description="Additional Disk Source"
  default="false"
}

我在 terraform 中有另一个变量:

variable "add_source_image" {
  description = "Source image value."
  default     = ""
}

我想在本地块中将以下值分配给 add_source_image 本地人 {

add_source_image = var.add_source_image != "" ? var.add_source_image : "centos-7-v20201112"):""

}

但我希望这个 add_source_image 仅在以下情况下被赋予任何值 isadd1DiskSourceExists 存在

喜欢

locals {

    if var.isadd1DiskSourceExists // only if true
        add_source_image = var.add_source_image != "" ? var.add_source_image : "centos-7-v20201112"):""

}

如何在 terraform 中实现这一点?

您可以使用三元组和 coalesce functionlocals:

中组合这些条件
locals {
  add_source_image = var.isadd1DiskSourceExists ? coalesce(var.add_source_image, "centos-7-v20201112") : ""
}