mirror of https://github.com/kubernetes/kops.git
30 lines
573 B
Go
30 lines
573 B
Go
package protokube
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
"text/template"
|
|
)
|
|
|
|
func ExecuteTemplate(key string, contents string, model interface{}) (string, error) {
|
|
t := template.New(key)
|
|
|
|
//funcMap := make(template.FuncMap)
|
|
//t.Funcs(funcMap)
|
|
|
|
_, err := t.Parse(contents)
|
|
if err != nil {
|
|
return "", fmt.Errorf("error parsing template %q: %v", key, err)
|
|
}
|
|
|
|
t.Option("missingkey=zero")
|
|
|
|
var buffer bytes.Buffer
|
|
err = t.ExecuteTemplate(&buffer, key, model)
|
|
if err != nil {
|
|
return "", fmt.Errorf("error executing template %q: %v", key, err)
|
|
}
|
|
|
|
return buffer.String(), nil
|
|
}
|