interfaces.go 381 B

12345678910111213141516171819202122232425
  1. package alerting
  2. import (
  3. "time"
  4. )
  5. type EvalHandler interface {
  6. Eval(context *EvalContext)
  7. }
  8. type Scheduler interface {
  9. Tick(time time.Time, execQueue chan *Job)
  10. Update(rules []*Rule)
  11. }
  12. type Notifier interface {
  13. Notify(alertResult *EvalContext)
  14. GetType() string
  15. NeedsImage() bool
  16. PassesFilter(rule *Rule) bool
  17. }
  18. type Condition interface {
  19. Eval(result *EvalContext)
  20. }