in pkg/trimaran/targetloadpacking/targetloadpacking.go [152:172]
func getArgs(obj runtime.Object) (*pluginConfig.TargetLoadPackingArgs, error) {
targetLoadPackingArgs, ok := obj.(*pluginConfig.TargetLoadPackingArgs)
if !ok {
return nil, fmt.Errorf("want args to be of type TargetLoadPackingArgs, got %T", obj)
}
if targetLoadPackingArgs.WatcherAddress == "" {
if targetLoadPackingArgs.MetricProvider.Type == "" {
targetLoadPackingArgs.MetricProvider.Type = pluginConfig.KubernetesMetricsServer
} else {
if targetLoadPackingArgs.MetricProvider.Type != pluginConfig.KubernetesMetricsServer && targetLoadPackingArgs.MetricProvider.Type != pluginConfig.Prometheus && targetLoadPackingArgs.MetricProvider.Type != pluginConfig.SignalFx {
return nil, fmt.Errorf("invalid MetricProvider.Type, got %T", targetLoadPackingArgs.MetricProvider.Type)
}
}
}
_, err := strconv.ParseFloat(targetLoadPackingArgs.DefaultRequestsMultiplier, 64)
if err != nil {
return nil, errors.New("unable to parse DefaultRequestsMultiplier: " + err.Error())
}
return targetLoadPackingArgs, nil
}