azure 如何将动态块与查找配合使用

unguejic  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(122)

在这里,我计划为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" } }]

}
kb5ga3dv

kb5ga3dv1#

您的var.advanced_filter是一个Map列表,因此您必须使用索引访问列表中的各个Map,例如01等。由于列表中只有一个元素,因此它应该是:

for_each = lookup(var.advanced_filter[0], "bool_equals", "") != "" ? [1] : []

相关问题