,可以使用Terraform的内置函数setsubtract
来实现。
setsubtract
函数用于从一个集合中排除另一个集合中的元素。在这种情况下,我们可以将给定列表和给定字符串转换为集合,然后使用setsubtract
函数来排除字符串。
以下是一个示例代码:
variable "given_list" {
type = list(string)
default = ["string1", "string2", "string3"]
}
variable "given_string" {
type = string
default = "string2"
}
locals {
excluded_list = setsubtract(toset(var.given_list), toset([var.given_string]))
}
output "excluded_list" {
value = local.excluded_list
}
在上面的示例中,我们定义了一个名为given_list
的变量,它是一个字符串列表,包含了一些给定的字符串。我们还定义了一个名为given_string
的变量,它是一个字符串,表示要排除的字符串。
然后,我们使用toset
函数将given_list
和given_string
转换为集合,并使用setsubtract
函数从given_list
集合中排除given_string
集合中的元素。最后,我们将排除后的列表存储在excluded_list
局部变量中,并将其作为输出进行展示。
这样,我们就可以通过使用setsubtract
函数从terraform中的给定列表中排除给定字符串。