Skip to content

Commit acab17c

Browse files
authored
fix: removing last rule from firewall fails with invalid_input error (#696)
If you try to delete last firewall rule, rule is `null` but should be `[]`, resulting in error message > hcloud: invalid input in field 'rules' (invalid_input) `hcloud firewall delete-rule --direction in --protocol tcp --source-ips '8.8.8.8/32' --port 443 f2b`
1 parent 6dd443f commit acab17c

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

internal/cmd/firewall/delete_rule.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ var DeleteRuleCmd = base.Cmd{
105105
}
106106
}
107107

108-
var rules []hcloud.FirewallRule
108+
var rules = make([]hcloud.FirewallRule, 0)
109109
for _, existingRule := range firewall.Rules {
110110
if !reflect.DeepEqual(existingRule, rule) {
111111
rules = append(rules, existingRule)

internal/cmd/firewall/delete_rule_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func TestDeleteRule(t *testing.T) {
3636
Get(gomock.Any(), "test").
3737
Return(fw, nil, nil)
3838
fx.Client.FirewallClient.EXPECT().
39-
SetRules(gomock.Any(), fw, hcloud.FirewallSetRulesOpts{Rules: nil}).
39+
SetRules(gomock.Any(), fw, hcloud.FirewallSetRulesOpts{Rules: []hcloud.FirewallRule{}}).
4040
Return([]*hcloud.Action{{ID: 123}, {ID: 321}}, nil, nil)
4141
fx.ActionWaiter.EXPECT().
4242
WaitForActions(gomock.Any(), gomock.Any(), []*hcloud.Action{{ID: 123}, {ID: 321}}).

0 commit comments

Comments
 (0)