Skip to content

Commit 8e64c19

Browse files
authored
[firewall config resource] off by one error (#282)
* [firewall config resource] off by one error * fix broken test config * fix project name * drop nil check
1 parent a4ad0ef commit 8e64c19

File tree

2 files changed

+46
-2
lines changed

2 files changed

+46
-2
lines changed

vercel/resource_firewall_config.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -808,7 +808,7 @@ func fromClient(conf client.FirewallConfig, state FirewallConfig) (FirewallConfi
808808
var stateRule = FirewallRule{
809809
Active: types.BoolNull(),
810810
}
811-
if state.Rules != nil && len(state.Rules.Rules)-1 > i {
811+
if state.Rules != nil && len(state.Rules.Rules) > i {
812812
stateRule = state.Rules.Rules[i]
813813
}
814814
rules[i], err = fromFirewallRule(rule, stateRule)

vercel/resource_firewall_config_test.go

+45-1
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,18 @@ func TestAcc_FirewallConfigResource(t *testing.T) {
294294
"vercel_firewall_config.custom",
295295
"rules.rule.2.action.redirect.permanent",
296296
"false"),
297+
resource.TestCheckResourceAttr(
298+
"vercel_firewall_config.neg",
299+
"rules.rule.0.condition_group.0.conditions.0.neg",
300+
"true"),
301+
resource.TestCheckResourceAttr(
302+
"vercel_firewall_config.neg",
303+
"rules.rule.0.condition_group.0.conditions.0.values.0",
304+
"1.2.3.4"),
305+
resource.TestCheckResourceAttr(
306+
"vercel_firewall_config.neg",
307+
"rules.rule.0.condition_group.0.conditions.0.values.1",
308+
"3.4.5.6"),
297309
resource.TestCheckResourceAttr(
298310
"vercel_firewall_config.ips",
299311
"ip_rules.rule.0.action",
@@ -612,5 +624,37 @@ resource "vercel_firewall_config" "ips" {
612624
hostname = "*"
613625
}
614626
}
615-
}`, name, teamID)
627+
}
628+
629+
resource "vercel_project" "neg" {
630+
name = "test-acc-%[1]s-neg"
631+
%[2]s
632+
}
633+
634+
resource "vercel_firewall_config" "neg" {
635+
project_id = vercel_project.neg.id
636+
%[2]s
637+
638+
rules {
639+
rule {
640+
name = "test"
641+
action = {
642+
action = "deny"
643+
}
644+
condition_group = [{
645+
conditions = [{
646+
type = "ip_address"
647+
op = "inc"
648+
neg = true
649+
values = [
650+
"1.2.3.4",
651+
"3.4.5.6",
652+
"5.6.7.7",
653+
]
654+
}]
655+
}]
656+
}
657+
}
658+
}
659+
`, name, teamID)
616660
}

0 commit comments

Comments
 (0)