使用地形语法HCL从基于条件的列表中检索值



我正在寻找一个地形表达式从列表中检索值,我有一个值列表

namespaces = [blue,red,green,ns-blue,ns-green,ns-grey]

我想在列表格式检索只是值包含"ns",因此我必须得到:

namepsace-filtred = [ns-blue,ns-green,ns-grey]

thanks in advance.

假设您有一个变量namespace的字符串列表:

variable "namespaces" {
default = ["blue", "red", "green", "ns-blue", "ns-green", "ns-grey"]
}

您可以使用forregex函数来检查字符串是否包含子字符串。此外,您必须使用can函数将正则表达式的结果转换为布尔值:

locals {
namepsace_filtred = [for ns in var.namespaces : ns if can(regex("ns", ns))]
}

结果应该是这样的:

namepsace_filtred = [
"ns-blue",
"ns-green",
"ns-grey",
]

最新更新