Terraform 多三元条件

问题描述 投票:0回答:1

我已经提到了旧问题,但仍然没有获得“qa”环境的正确值。 对于开发环境,它给出了正确的值。

我尝试了不同的方法,但仍然没有获得“qa”环境的正确值。 对于 qa 环境,它给出值“x”而不是期望值“q”。 我没有检查“uat”和“prod”环境案例并在 locals.tf 中使用它。

envsymbol = var.environment == "dev" ? "d" : (var.environment == "qa" ? "q") : (var.environment == "uat" ? "u" : "p")

envsymbol = var.environment == "dev" ? "d" : var.environment == "qa" ? "q" : var.environment == "uat" ? "u" : var.environment == "prod" ? "p" : "x"    
 
envsymbol = var.environment == "dev" ? "d" : (var.environment == "qa" ? "q" : (var.environment == "uat" ? "u" : (var.environment == "prod" ? "p" : "x")))
}

请建议我修改此设置以获得“qa”环境的正确值“q”。

terraform
1个回答
0
投票

最简单的方法是使用

map
,而不是创建复杂的条件:

variable "env" {
   default = {
     "prod": "p"
     "qa":   "q"
     "dev": "d"
   }
}

然后

lookup
:

envsymbol = lookup(var.env, var.environment, "x")
© www.soinside.com 2019 - 2024. All rights reserved.