terraform 中的条件检查

Posted

技术标签:

【中文标题】terraform 中的条件检查【英文标题】:condition checking in terraform 【发布时间】:2021-12-29 15:49:08 【问题描述】:

我有一段 terraform 代码。

data "am_nodes" "tm_nodes" 
  count          = length(local.l_domains)
  ay             = local.l_domains[count.index].name
  pol           = local.am_pool[count.index].resource_id
  host_reg = "$local.reg_k$local.cte_env_map[local.environment]-pd$local.pI-mr*"

在这里我想设置一个条件,例如如果 local.pI 值为 0,则忽略整个 host_reg 有什么办法可以做到这一点?

【问题讨论】:

【参考方案1】:

是的,您可以使用三元运算符来做到这一点,如下所示:

data "am_nodes" "mt_nodes" 
  count         = length(local.l_domains)
  ay            = local.l_domains[count.index].name
  pol           = local.am_pool[count.index].resource_id
  host_reg = local.pl == 0 ? null : "$local.reg_k$local.cte_env_map[local.environment]-dp$local.pI-mr*"

【讨论】:

谢谢,所以如果 local.pl 的值为 0,那么 host_reg 将被完全忽略或分配值为 0? 如果local.pl0host_reg 将得到null 作为值。

以上是关于terraform 中的条件检查的主要内容,如果未能解决你的问题,请参考以下文章

Terraform 中的条件属性

terraform 中是不是有 AND/OR 条件运算符?

如果满足条件,则将额外元素添加到 terraform 中的列表

Terraform 0.11:aws_lambda_function 中的条件 vpc_config

Terraform AWS LB 运行状况检查失败

基于条件阶段变量字符串的 Terraform 资源