【问题标题】:Terraform Dynamic Block for Firewall log config用于防火墙日志配置的 Terraform 动态块
【发布时间】:2021-09-24 04:17:34
【问题描述】:

感谢您提前提供的帮助和时间。

我正在尝试为 AWS 网络防火墙配置创建 terraform 模块。

以下是我的代码:

  firewall_arn = var.firewall_arn
  logging_configuration {
    dynamic "config" {
      for_each = var.log_destination_configs  
      content {  
        log_destination {
          bucketName      = lookup(config.value, "bucketName", null)
          prefix          = lookup(config.value, "prefix", null)  
          logGroup        = lookup(config.value, "logGroup", null)
          deliveryStream  = lookup(config.value, "deliveryStream", null)  
        }
        log_destination_type = lookup(config.value, "log_destination_type", null)
        log_type             = lookup(config.value, "log_type", null)
      }
    }
  }
}

但是,当我尝试编译时,出现以下错误:

Error: Unsupported block type

  on ../../main.tf line 4, in resource "aws_networkfirewall_logging_configuration" "default":
   4:     dynamic "config" {

Blocks of type "config" are not expected here.
}

是不是因为我在 logging_configuration 中声明了块并且不允许这样做?

再次感谢。

【问题讨论】:

    标签: module terraform


    【解决方案1】:

    根据logging_configuration argument documentation,嵌套块被命名为log_destination_config,而不是config。这就是错误消息指出该块中不应出现块config 的原因。如果您相应地更新块名称和 lambda 范围变量:

    logging_configuration {
      dynamic "log_destination_config" {
        for_each = var.log_destination_configs
    
        content {  
          log_destination {
            bucketName      = lookup(log_destination_config.value, "bucketName", null)
            prefix          = lookup(log_destination_config.value, "prefix", null)  
            logGroup        = lookup(log_destination_config.value, "logGroup", null)
            deliveryStream  = lookup(log_destination_config.value, "deliveryStream", null)  
          }
          log_destination_type = lookup(log_destination_config.value, "log_destination_type", null)
          log_type             = lookup(log_destination_config.value, "log_type", null)
        }
      }
    }
    

    那么这应该可以解决您的错误消息的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2021-09-28
      • 2015-08-31
      • 1970-01-01
      • 2021-09-12
      • 1970-01-01
      相关资源
      最近更新 更多