in dev/import-beats/variables.go [110:134]
func adjustVariablesFormat(mwvs manifestWithVars) (manifestWithVars, error) {
var withDefaults manifestWithVars
for _, aVar := range mwvs.Vars {
var isArray bool
variableType := determineInputVariableType(aVar.Name, aVar.Default)
if variableType == "yaml" {
m, err := yaml.Marshal(aVar.Default)
if err != nil {
return manifestWithVars{}, errors.Wrapf(err, "marshalling object configuration variable failed")
}
aVar.Default = string(m)
} else {
_, isArray = aVar.Default.([]interface{})
}
aVarWithDefaults := aVar
aVarWithDefaults.Title = toVariableTitle(aVar.Name)
aVarWithDefaults.Type = variableType
aVarWithDefaults.Required = determineInputVariableIsRequired(aVar.Default)
aVarWithDefaults.ShowUser = true
aVarWithDefaults.Multi = isArray
withDefaults.Vars = append(withDefaults.Vars, aVarWithDefaults)
}
return withDefaults, nil
}