in pkg/azure/configbuilder.go [17:43]
func BuildFirewallConfig(erulesList azurefirewallrulesv1.AzureFirewallRulesList, erulesSourceAddresses map[string][]string) *[]n.BasicFirewallPolicyRuleCollection {
var ruleCollections []n.BasicFirewallPolicyRuleCollection
for _, item := range erulesList.Items {
for _, egressrule := range item.Spec.EgressRules {
if len(erulesSourceAddresses[egressrule.Name]) != 0 {
for _, rule := range egressrule.Rules {
if len(ruleCollections) == 0 || NotFoundRuleCollection(rule, ruleCollections) {
ruleCollection := BuildRuleCollection(egressrule, rule, erulesSourceAddresses)
ruleCollections = append(ruleCollections, ruleCollection)
} else {
for i := 0; i < len(ruleCollections); i++ {
ruleCollection := ruleCollections[i].(*n.FirewallPolicyFilterRuleCollection)
if rule.RuleCollectionName == *ruleCollection.Name {
fwRules := *ruleCollection.Rules
fwRule := GetRule(egressrule, rule, erulesSourceAddresses)
fwRules = append(fwRules, fwRule)
ruleCollection.Rules = &fwRules
}
}
}
}
}
}
}
return &ruleCollections
}