func()

in alertmanager/client/template_client.go [153:175]


func (t *templateClient) EditTemplate(filename, tmplName, tmplText string) error {
	t.fileLocks.Lock(filename)
	defer t.fileLocks.Unlock(filename)

	tmplFile, err := t.readTmplFile(filename)
	if err != nil {
		return err
	}
	tmplMap := getTemplatesByName(tmplFile)

	if tmplMap[tmplName] == nil {
		return fmt.Errorf("template %s does not exist", tmplName)
	}

	parseTmpl := &template.Template{}
	newTmpl, err := parseTmpl.Parse(tmplText)
	if err != nil {
		return fmt.Errorf("error adding template: %v", err)
	}
	tmplMap[tmplName] = newTmpl

	return t.writeTmplFile(filename, writeTmplMapText(tmplMap))
}