我想为 Azure 应用程序网关创建一个模块。
我想使用内联块 disabled_rule_group 禁用一些规则组,但是如何在模块中使其可配置?这应该是一个可选变量。
我找到for_each
了嵌套块。
例子:
variable "disabled_rule_groups" {
default = [
{
rule_group_name = "REQUEST-931-APPLICATION-ATTACK-RFI"
rules = [
931100,
931130]
},
{
rule_group_name = "REQUEST-942-APPLICATION-ATTACK-SQLI"
rules = [
942100
]
}
]
}
resource "azurerm_application_gateway" "AppGateway" {
dynamic "disabled_rule_group" {
for_each = [var.disabled_rule_groups]
content {
rule_group_name = disabled_rule_group.value.rule_group_name
rules = disabled_rule_group.value.rules
}
}
}
但是,这不起作用。
有人知道如何修复语法吗?
此外,该变量disabled_rule_groups
应该是可选的。因此,如果未设置 disabled_rule_groups ,则应禁用该块。我怎样才能做到这一点?我需要第二个布尔变量和一个 if 吗?