code: func (s ConfigMapGeneratorV1) StructuredGenerate() (runtime.Object, error) {
  	if err := s.validate(); err != nil {
  		return nil, err
  	}
  	configMap := &v1.ConfigMap{}
  	configMap.Name = s.Name
  	configMap.Data = map[string]string{}
  	configMap.BinaryData = map[string][]byte{}
  	if len(s.FileSources) > 0 {
  		if err := handleConfigMapFromFileSources(configMap, s.FileSources); err != nil {
  			return nil, err
  		}
  	}
  	if len(s.LiteralSources) > 0 {
  		if err := handleConfigMapFromLiteralSources(configMap, s.LiteralSources); err != nil {
  			return nil, err
  		}
  	}
  	if len(s.EnvFileSource) > 0 {
  		if err := handleConfigMapFromEnvFileSource(configMap, s.EnvFileSource); err != nil {
  			return nil, err
  		}
  	}
  	if s.AppendHash {
  		h, err := hash.ConfigMapHash(configMap)
  		if err != nil {
  			return nil, err
  		}
  		configMap.Name = fmt.Sprintf("%s-%s", configMap.Name, h)
  	}
  	return configMap, nil
  }
docs: // StructuredGenerate outputs a configMap object using the configured fields.