code: func FromString(templ string) (*ImportHelper, error) {
  	var s ImportHelper
  	if err := yaml.Unmarshal([]byte(templ), &s); err != nil {
  		log.Info(nil, map[string]interface{}{
  			"template": templ,
  			"err":      err,
  		}, "failed to unmarshal YAML space template")
  		return nil, errs.Wrapf(err, "failed to parse YAML space template: \n%s", templ)
  	}
  	// If the space template has no ID, create one on the fly
  	if uuid.Equal(s.Template.ID, uuid.Nil) {
  		s.Template.ID = uuid.NewV4()
  	}
  	// update all refs to this ID
  	s.SetID(s.Template.ID)
  	if err := s.Validate(); err != nil {
  		return nil, errs.Wrap(err, "failed to validate space template")
  	}
  	return &s, nil
  }
docs: // FromString parses a given string into a parsed template object and validates
  // it.