【发布时间】:2021-10-14 17:10:21
【问题描述】:
在 terraform 中,我正在尝试创建一些防火墙规则,这些规则通常没有启用日志记录 - 要完成此操作,我必须不创建 log_config 字段。但是,我有一个变量 firewall_logging,如果为真,应该添加这个字段和我希望它包含的选项。
我不认为在这里使用动态是正确的做法,但它有可能是,我误解了如何生成它,而是我想出了以下内容:
resource "google_compute_firewall" "this" {
name = var.name
project = var.project
network = var.network
source_ranges = var.source_ranges
source_tags = var.source_tags
target_tags = var.target_tags
priority = var.priority
direction = var.direction
allow {
protocol = lower(var.protocol)
ports = var.ports
}
## If log_config is defined, this enables logging. By not defining it, we are disabling logging.
var.firewall_logging == true ? log_config { metadata = var.log_metadata } : null
我希望对变量进行评估,如果为真,则将 log_config 部分添加到资源中,但我收到需要参数或块定义的错误。
【问题讨论】:
标签: terraform terraform-provider-gcp