in config/config.go [244:281]
func (s Setting) TFvarsValue() string {
result := ""
// If we used the workaround for lists in strings, convert it to a list
// under the covers
if s.Value != "" && s.Value[0:1] == "[" {
replacer := strings.NewReplacer("[", "", "]", "")
s.List = strings.Split(replacer.Replace(s.Value), ",")
s.Type = "list"
s.Value = ""
}
switch s.Type {
case "string", "":
result = fmt.Sprintf("\"%s\"", s.Value)
case "list":
tmp := []string{}
for _, v := range s.List {
tmp = append(tmp, fmt.Sprintf("\"%s\"", v))
}
str := strings.Join(tmp, ",")
result = fmt.Sprintf("[%s]", str)
case "map":
tmp := []string{}
for i, v := range s.Map {
tmp = append(tmp, fmt.Sprintf("%s=\"%s\"", i, v))
}
sort.Strings(tmp)
str := strings.Join(tmp, ",")
result = fmt.Sprintf("{%s}", str)
default:
result = s.Value
}
return result
}