Skip to content

Commit 48d549b

Browse files
committed
allow modifying rule number
1 parent 6b1239c commit 48d549b

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

cloudstack/resource_cloudstack_network_acl_rule.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -972,6 +972,14 @@ func ruleNeedsUpdate(oldRule, newRule map[string]interface{}) bool {
972972
return true
973973
}
974974

975+
// Check rule_number
976+
oldRuleNum, oldHasRuleNum := oldRule["rule_number"].(int)
977+
newRuleNum, newHasRuleNum := newRule["rule_number"].(int)
978+
if oldHasRuleNum != newHasRuleNum || (oldHasRuleNum && newHasRuleNum && oldRuleNum != newRuleNum) {
979+
log.Printf("[DEBUG] Rule number changed: %d -> %d", oldRuleNum, newRuleNum)
980+
return true
981+
}
982+
975983
oldDesc, oldHasDesc := oldRule["description"].(string)
976984
newDesc, newHasDesc := newRule["description"].(string)
977985
if oldHasDesc != newHasDesc || (oldHasDesc && newHasDesc && oldDesc != newDesc) {
@@ -1055,6 +1063,12 @@ func updateNetworkACLRule(cs *cloudstack.CloudStackClient, oldRule, newRule map[
10551063

10561064
p.SetTraffictype(newRule["traffic_type"].(string))
10571065

1066+
// Set rule number if provided and non-zero
1067+
if ruleNum, ok := newRule["rule_number"].(int); ok && ruleNum > 0 {
1068+
p.SetNumber(ruleNum)
1069+
log.Printf("[DEBUG] Set rule_number=%d", ruleNum)
1070+
}
1071+
10581072
protocol := newRule["protocol"].(string)
10591073
switch protocol {
10601074
case "icmp":

0 commit comments

Comments
 (0)