in mpdev/internal/tf/overwrite.go [56:115]
func OverwriteTf(config *overwriteConfig, dir string) error {
upsertErr := upsertConsumerLabel(dir, config.ConsumerLabel)
if upsertErr != nil {
return upsertErr
}
if config.NewValues != nil {
fmt.Printf("Replacing the default values of the variables: %s\n", config.NewValues)
for varName, newValue := range config.NewValues {
varInfo, err := getVarInfo(varName, dir)
if err != nil {
return err
}
if varInfo.Type != "string" {
return fmt.Errorf("image variable: %s must be type string", varName)
}
err = overwriteFile(varInfo.Pos.Filename, varName, newValue)
if err != nil {
return err
}
}
} else {
fmt.Printf("Replacing the default values of the variables: %s\n", config.Variables)
fmt.Printf("Mapping of values to replace: %s\n", config.Replacements)
for _, varname := range config.Variables {
varInfo, err := getVarInfo(varname, dir)
if err != nil {
return err
}
if varInfo.Default == nil {
return fmt.Errorf("image variable: %s must have default value", varname)
}
defaultVal, ok := varInfo.Default.(string)
if !ok {
return fmt.Errorf("image variable: %s must be type string", varname)
}
replaceVal, ok := config.Replacements[defaultVal]
if !ok {
return fmt.Errorf("default value: %s of variable: %s not found in replacements",
defaultVal, varname)
}
err = overwriteFile(varInfo.Pos.Filename, varname, replaceVal)
if err != nil {
return err
}
}
}
fmt.Println("Successfully replaced default values in tf files")
return nil
}