我的代码中有以下变量:
variable "mylist" {
  default = ["cardigan.com", "crazy-apple.com", "blue-pen.com"]
}
在创建给定资源时,我必须根据子字符串传递此列表中元素的名称。例如,如何检索此列表中包含子字符串“apple”的元素?
Terraform 中还不存在收集/过滤/地图系列功能。for因此,我们可以在列表构造函数中使用带有条件的 lambda 表达式:
[ for item in var.my_list : item if can(regex("apple", item)) ]
这将返回["crazy-apple.com"]您的示例变量值。然后您可以访问其元素以返回字符串,例如crazy-apple.com按照正常情况。如果您使用 >= 0.15,并且非常有信心只存在一场比赛,那么您也可以这样做:
one([ for item in var.my_list : item if can(regex("apple", item)) ])
直接返回crazy-apple.com。
| 归档时间: | 
 | 
| 查看次数: | 4734 次 | 
| 最近记录: |