在这里,我计划为Azure事件网格订阅添加高级过滤器,而我的理解是高级过滤器仅为事件网格添加了一个,因此我更喜欢使用length函数来控制变量Map(var. advanced_filter)。在这里,我遇到了第二个动态块获取错误的问题:lookup()要求将map作为第一个参数。
- 主文件格式**
dynamic "advanced_filter" {
for_each = length(var.advanced_filter)>0 ?[1]:[0]
content {
dynamic "bool_equals" {
for_each = lookup(var.advanced_filter,"bool_equals", "") != "" ? [1] : []
content {
key = var.advanced_filter.bool_equals.key
value = var.advanced_filter.bool_equals.value
}
}
}
}
}
- 变量. tf**
variable "advanced_filter" {
type = any
description = "Adding advanced filters for azure event grid subscription"
default = [{ bool_equals = {
key = "True"
value = "test" } }]
}
1条答案
按热度按时间kb5ga3dv1#
您的
var.advanced_filter
是一个Map列表,因此您必须使用索引访问列表中的各个Map,例如0
、1
等。由于列表中只有一个元素,因此它应该是: