func()

in alertmanager/config/receiver.go [168:206]


func (r *ReceiverJSONWrapper) ToReceiverFmt() (Receiver, error) {
	receiver := Receiver{
		Name:             r.Name,
		SlackConfigs:     r.SlackConfigs,
		WebhookConfigs:   r.WebhookConfigs,
		EmailConfigs:     r.EmailConfigs,
		PagerDutyConfigs: r.PagerDutyConfigs,
	}

	for _, p := range r.PushoverConfigs {
		pushoverConf := PushoverConfig{
			NotifierConfig: p.NotifierConfig,
			HTTPConfig:     p.HTTPConfig,
			UserKey:        p.UserKey,
			Token:          p.Token,
			Title:          p.Title,
			Message:        p.Message,
			URL:            p.URL,
			Priority:       p.Priority,
		}
		if p.Retry != "" {
			modelRetry, err := model.ParseDuration(p.Retry)
			if err != nil {
				return receiver, err
			}
			pushoverConf.Retry = modelRetry
		}
		if p.Expire != "" {
			modelExpire, err := model.ParseDuration(p.Expire)
			if err != nil {
				return receiver, err
			}
			pushoverConf.Expire = modelExpire
		}
		receiver.PushoverConfigs = append(receiver.PushoverConfigs, &pushoverConf)
	}

	return receiver, nil
}