code: func ParseEncryptionConfiguration(f io.Reader) (map[schema.GroupResource]value.Transformer, error) {
  	configFileContents, err := ioutil.ReadAll(f)
  	if err != nil {
  		return nil, fmt.Errorf("could not read contents: %v", err)
  	}
  
  	config, err := loadConfig(configFileContents)
  	if err != nil {
  		return nil, fmt.Errorf("error while parsing file: %v", err)
  	}
  
  	resourceToPrefixTransformer := map[schema.GroupResource][]value.PrefixTransformer{}
  
  	// For each entry in the configuration
  	for _, resourceConfig := range config.Resources {
  		transformers, err := GetPrefixTransformers(&resourceConfig)
  		if err != nil {
  			return nil, err
  		}
  
  		// For each resource, create a list of providers to use
  		for _, resource := range resourceConfig.Resources {
  			gr := schema.ParseGroupResource(resource)
  			resourceToPrefixTransformer[gr] = append(
  				resourceToPrefixTransformer[gr], transformers...)
  		}
  	}
  
  	result := map[schema.GroupResource]value.Transformer{}
  	for gr, transList := range resourceToPrefixTransformer {
  		result[gr] = value.NewMutableTransformer(value.NewPrefixTransformers(fmt.Errorf("no matching prefix found"), transList...))
  	}
  	return result, nil
  
  }
docs: // ParseEncryptionConfiguration parses configuration data and returns the transformer overrides