Terraform if 语句为 true 或 false

deb*_*bek 1 terraform

我需要准备 if 语句。我想知道最好的解决方案是什么?

locals {
  prod_ingress_certyficate  = "${prod_ingress_certyficate == "true" ? var.prod_cert : var.test_cert}"
}
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?如果变量为 true,则使用 prod_cert,如果为 false,则使用 test_cert。

Mar*_*cin 5

prod_ingress_certyficate在定义之前你不能引用它。但是,您可以创建一个名为的变量prod_ingress_certyficate,然后在您的条件中使用locals

variable "prod_cert" {
  default = "prod_cert"
}

variable "test_cert" {
  default = "test_cert"
}

variable "prod_ingress_certyficate" {
  default = true
}

locals {
  prod_ingress_certyficate  = var.prod_ingress_certyficate == true ? var.prod_cert : var.test_cert
}

output "test" {
  value = local.prod_ingress_certyficate
}
Run Code Online (Sandbox Code Playgroud)