diff --git a/examples/RuleGroup/main.tf b/examples/RuleGroup/main.tf index 0e3d246..2778798 100644 --- a/examples/RuleGroup/main.tf +++ b/examples/RuleGroup/main.tf @@ -33,6 +33,24 @@ module "rule_group" { metric_name = "cloudwatch_metric_name" sampled_requests_enabled = false } + }, + { + name = "Rule02" + priority = 20 + action = "block" + ip_set_reference_statement = { + arn = "" + ip_set_forwarded_ip_config = { + fallback_behavior = "NO_MATCH" + header_name = "X-Forwarded-For" + position = "ANY" + } + } + visibility_config = { + cloudwatch_metrics_enabled = false + metric_name = "cloudwatch_metric_name" + sampled_requests_enabled = false + } } ] visibility_config = { diff --git a/main.tf b/main.tf index 03f251c..3e842f6 100644 --- a/main.tf +++ b/main.tf @@ -116,6 +116,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(scope_down_statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(scope_down_statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -761,6 +770,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -1397,6 +1415,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(not_statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(not_statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -2042,6 +2069,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -2678,6 +2714,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(not_statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(not_statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -3321,6 +3366,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(not_statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(not_statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -3953,6 +4007,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(rule.value, "ip_set_reference_statement", null) == null ? [] : [lookup(rule.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -4598,6 +4661,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -5234,6 +5306,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(not_statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(not_statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -5879,6 +5960,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -6515,6 +6605,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(not_statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(not_statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -7158,6 +7257,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(not_statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(not_statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -7802,6 +7910,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(scope_down_statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(scope_down_statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -8447,6 +8564,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -9085,6 +9211,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -9731,6 +9866,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -10369,6 +10513,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -11015,6 +11168,15 @@ resource "aws_wafv2_web_acl" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } diff --git a/modules/rule-group/main.tf b/modules/rule-group/main.tf index 2df8ce3..1be622c 100644 --- a/modules/rule-group/main.tf +++ b/modules/rule-group/main.tf @@ -45,6 +45,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(rule.value, "ip_set_reference_statement", null) == null ? [] : [lookup(rule.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -690,6 +699,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -1328,6 +1346,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -1974,6 +2001,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -2612,6 +2648,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -3258,6 +3303,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -3903,6 +3957,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(scope_down_statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(scope_down_statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -4548,6 +4611,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -5186,6 +5258,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -5832,6 +5913,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -6470,6 +6560,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } } @@ -7116,6 +7215,15 @@ resource "aws_wafv2_rule_group" "this" { for_each = lookup(statement.value, "ip_set_reference_statement", null) == null ? [] : [lookup(statement.value, "ip_set_reference_statement")] content { arn = lookup(ip_set_reference_statement.value, "arn") + + dynamic "ip_set_forwarded_ip_config" { + for_each = lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config", null) == null ? [] : [lookup(ip_set_reference_statement.value, "ip_set_forwarded_ip_config")] + content { + fallback_behavior = lookup(ip_set_forwarded_ip_config.value, "fallback_behavior") + header_name = lookup(ip_set_forwarded_ip_config.value, "header_name") + position = lookup(ip_set_forwarded_ip_config.value, "position") + } + } } }