code: func Save(config *api.Config, cmd *cobra.Command) {
  	c := Config{
  		BuilderImage: config.BuilderImage,
  		Source:       config.Source.String(),
  		Tag:          config.Tag,
  		Flags:        make(map[string]string),
  	}
  	cmd.Flags().Visit(func(f *pflag.Flag) {
  		if f.Name == "env" {
  			for i, env := range config.Environment {
  				c.Flags[fmt.Sprintf("%s-%d", f.Name, i)] = fmt.Sprintf("%s=%s", env.Name, env.Value)
  			}
  		} else {
  			c.Flags[f.Name] = f.Value.String()
  		}
  	})
  	data, err := json.Marshal(c)
  	if err != nil {
  		glog.V(1).Infof("Unable to serialize to %s: %v", DefaultConfigPath, err)
  		return
  	}
  	if err := ioutil.WriteFile(DefaultConfigPath, data, 0644); err != nil {
  		glog.V(1).Infof("Unable to save %s: %v", DefaultConfigPath, err)
  	}
  	return
  }
docs: // Save persists the S2I command line arguments to disk.