in internal/client/integrations/integrations.go [640:681]
func GetConfigVariables(contents []byte) (respBody []byte, err error) {
iversion := integrationVersion{}
configVariables := make(map[string]interface{})
err = json.Unmarshal(contents, &iversion)
if err != nil {
return nil, err
}
for _, param := range iversion.IntegrationConfigParameters {
configVariables[param.Parameter.Key] = ""
if param.Value != nil {
if param.Value.StringValue != nil {
configVariables[param.Parameter.Key] = param.Value.StringValue
} else if param.Value.IntValue != nil {
configVariables[param.Parameter.Key], _ = strconv.ParseInt(*param.Value.IntValue, 10, 0)
} else if param.Value.JsonValue != nil {
configVariables[param.Parameter.Key] = getJson(*param.Value.JsonValue)
} else if param.Value.BooleanValue != nil {
configVariables[param.Parameter.Key] = param.Value.BooleanValue
} else if param.Value.StringArray != nil {
configVariables[param.Parameter.Key] = param.Value.StringArray.StringValues
}
} else if param.Parameter.DefaultValue != nil {
if param.Parameter.DefaultValue.StringValue != nil {
configVariables[param.Parameter.Key] = param.Parameter.DefaultValue.StringValue
} else if param.Parameter.DefaultValue.IntValue != nil {
configVariables[param.Parameter.Key], _ = strconv.ParseInt(*param.Parameter.DefaultValue.IntValue, 10, 0)
} else if param.Parameter.DefaultValue.JsonValue != nil {
configVariables[param.Parameter.Key] = getJson(*param.Parameter.DefaultValue.JsonValue)
} else if param.Parameter.DefaultValue.BooleanValue != nil {
configVariables[param.Parameter.Key] = param.Parameter.DefaultValue.BooleanValue
} else if param.Parameter.DefaultValue.StringArray != nil {
configVariables[param.Parameter.Key] = param.Parameter.DefaultValue.StringArray.StringValues
}
}
}
if len(configVariables) > 0 {
respBody, err = json.Marshal(configVariables)
}
return respBody, err
}