@@ -4,17 +4,16 @@ import (
44 "encoding/json"
55 "fmt"
66 "regexp"
7- "time"
87)
98
109// Represents a notification routing tree in Grafana Alerting.
1110type NotificationPolicy struct {
1211 Receiver string `json:"receiver,omitempty"`
1312 GroupBy []string `json:"group_by,omitempty"`
1413 Routes []SpecificPolicy `json:"routes,omitempty"`
15- GroupWait time. Duration `json:"group_wait,omitempty"`
16- GroupInterval time. Duration `json:"group_interval,omitempty"`
17- RepeatInterval time. Duration `json:"repeat_interval,omitempty"`
14+ GroupWait string `json:"group_wait,omitempty"`
15+ GroupInterval string `json:"group_interval,omitempty"`
16+ RepeatInterval string `json:"repeat_interval,omitempty"`
1817 Provenance string `json:"provenance,omitempty"`
1918}
2019
@@ -26,9 +25,9 @@ type SpecificPolicy struct {
2625 MuteTimeIntervals []string `json:"mute_time_intervals,omitempty"`
2726 Continue bool `json:"continue"`
2827 Routes []SpecificPolicy `json:"routes,omitempty"`
29- GroupWait time. Duration `json:"group_wait,omitempty"`
30- GroupInterval time. Duration `json:"group_interval,omitempty"`
31- RepeatInterval time. Duration `json:"repeat_interval,omitempty"`
28+ GroupWait string `json:"group_wait,omitempty"`
29+ GroupInterval string `json:"group_interval,omitempty"`
30+ RepeatInterval string `json:"repeat_interval,omitempty"`
3231}
3332
3433type Matchers []Matcher
@@ -111,3 +110,9 @@ func (m Matchers) MarshalJSON() ([]byte, error) {
111110 }
112111 return json .Marshal (result )
113112}
113+
114+ func (c * Client ) NotificationPolicy () (NotificationPolicy , error ) {
115+ np := NotificationPolicy {}
116+ err := c .request ("GET" , "/api/v1/provisioning/policies" , nil , nil , & np )
117+ return np , err
118+ }
0 commit comments