github.com/muhammadn/cortex@v1.9.1-0.20220510110439-46bb7000d03d/pkg/alertmanager/alertspb/compat.go (about)

     1  package alertspb
     2  
     3  import "errors"
     4  
     5  var (
     6  	ErrNotFound = errors.New("alertmanager storage object not found")
     7  )
     8  
     9  // ToProto transforms a yaml Alertmanager config and map of template files to an AlertConfigDesc
    10  func ToProto(cfg string, templates map[string]string, user string) AlertConfigDesc {
    11  	tmpls := []*TemplateDesc{}
    12  	for fn, body := range templates {
    13  		tmpls = append(tmpls, &TemplateDesc{
    14  			Body:     body,
    15  			Filename: fn,
    16  		})
    17  	}
    18  	return AlertConfigDesc{
    19  		User:      user,
    20  		RawConfig: cfg,
    21  		Templates: tmpls,
    22  	}
    23  }
    24  
    25  // ParseTemplates returns a alertmanager config object
    26  func ParseTemplates(cfg AlertConfigDesc) map[string]string {
    27  	templates := map[string]string{}
    28  	for _, t := range cfg.Templates {
    29  		templates[t.Filename] = t.Body
    30  	}
    31  	return templates
    32  }