package rules import ( "bytes" "encoding/json" "text/template" "iwarma.ru/console/correlator/events" ) type Action interface { // Perform action for provided events Perform(events *[]*events.Event) error // ParseInterface Used for parsing from json ParseInterface(v interface{}) error // GetType Get type of action GetType() string json.Unmarshaler json.Marshaler } func renderTemplate(templateSrc *template.Template, event *events.Event) (string, error) { var buf bytes.Buffer err := templateSrc.Execute(&buf, event) if err != nil { return "", err } return buf.String(), nil }