📅  最后修改于: 2023-12-03 14:47:56.733000             🧑  作者: Mango
在 Terraform 中,可以使用 filter_policy 函数过滤集合,以便仅包含特定条件的项目。
module "example" {
source = "example"
tags = {
Terraform = "true"
Environment = "production"
Application = "example"
Owner = "dev-team"
}
filtered_tags = {
Terraform = true
Environment = true
}
}
在上面的示例中,使用 filtered_tags
参数从 tags
集合中过滤出仅包含 Terraform
和 Environment
属性的项。
locals {
collection = [
{key1 = "value1", key2 = "value2"},
{key1 = "value3", key2 = "value4"},
{key1 = "value5", key2 = "value6"},
{key1 = "value7", key2 = "value8"},
]
}
output "filtered_collection" {
value = [for item in local.collection : { key1 = item.key1 } if contains(["value3", "value7"], item.key1)]
}
在上面的示例中,使用 contains
函数过滤 collection
集合,以便仅包含 key1
值等于 value3
或 value7
的项。
filter_policy
函数提供了一种有用的方法来过滤 Terraform 中的集合。结合其他函数和模块,可以为您的基础架构代码提供强大而可重复的功能。