Parse ha_storage in config (#15900)

* parsing values in config ha_storage

* adding changelog

* adding test to parse storage
This commit is contained in:
akshya96
2022-06-09 15:55:49 -07:00
committed by GitHub
parent 8bf6a5952a
commit f831b96259
4 changed files with 67 additions and 2 deletions

View File

@@ -802,11 +802,25 @@ func parseHAStorage(result *Config, list *ast.ObjectList, name string) error {
key = item.Keys[0].Token.Value().(string)
}
var m map[string]string
if err := hcl.DecodeObject(&m, item.Val); err != nil {
var config map[string]interface{}
if err := hcl.DecodeObject(&config, item.Val); err != nil {
return multierror.Prefix(err, fmt.Sprintf("%s.%s:", name, key))
}
m := make(map[string]string)
for key, val := range config {
valStr, ok := val.(string)
if ok {
m[key] = valStr
continue
}
valBytes, err := json.Marshal(val)
if err != nil {
return err
}
m[key] = string(valBytes)
}
// Pull out the redirect address since it's common to all backends
var redirectAddr string
if v, ok := m["redirect_addr"]; ok {