in prometheus/alert/alert_rule.go [60:73]
func (f *File) ReplaceRule(newRule rulefmt.Rule) error {
ruleIdx := -1
for idx, rule := range f.RuleGroups[0].Rules {
if rule.Alert == newRule.Alert {
ruleIdx = idx
}
}
if ruleIdx < 0 {
return fmt.Errorf("rule %s does not exist", newRule.Alert)
}
f.RuleGroups[0].Rules[ruleIdx] = newRule
return nil
}