code: func (p *Provider) CreateConfiguration(tmplContent string, funcMap template.FuncMap, templateObjects interface{}) (*config.Configuration, error) {
  	var defaultFuncMap = sprig.TxtFuncMap()
  	defaultFuncMap["normalize"] = provider.Normalize
  	defaultFuncMap["split"] = strings.Split
  	for funcID, funcElement := range funcMap {
  		defaultFuncMap[funcID] = funcElement
  	}
  
  	tmpl := template.New(p.Filename).Funcs(defaultFuncMap)
  
  	_, err := tmpl.Parse(tmplContent)
  	if err != nil {
  		return nil, err
  	}
  
  	var buffer bytes.Buffer
  	err = tmpl.Execute(&buffer, templateObjects)
  	if err != nil {
  		return nil, err
  	}
  
  	var renderedTemplate = buffer.String()
  	if p.DebugLogGeneratedTemplate {
  		log.Debugf("Template content: %s", tmplContent)
  		log.Debugf("Rendering results: %s", renderedTemplate)
  	}
  	return p.DecodeConfiguration(renderedTemplate)
  }
docs: // CreateConfiguration creates a provider configuration from content using templating.