in container_images/concourse-metrics/pkg/requests/requests.go [42:72]
func validateJobResultRequestInput(input *JobResultArgs) error {
if strings.TrimSpace(input.ProjectID) == "" {
return fmt.Errorf("empty project-id value")
}
if strings.TrimSpace(input.Zone) == "" {
return fmt.Errorf("empty zone value")
}
if strings.TrimSpace(input.Pipeline) == "" {
return fmt.Errorf("empty pipeline value")
}
if strings.TrimSpace(input.Job) == "" {
return fmt.Errorf("empty job value")
}
if strings.TrimSpace(input.Task) == "" {
return fmt.Errorf("empty task value")
}
if strings.TrimSpace(input.MetricPath) == "" {
return fmt.Errorf("empty metric-path value")
}
state := strings.TrimSpace(input.ResultState)
if state != "success" && state != "failure" {
return fmt.Errorf("invalid state value")
}
// Don't let the end timestamp occur before the start timestamp.
if input.EndTimestamp != nil && *input.EndTimestamp < input.StartTimestamp {
return fmt.Errorf("end-timestamp cannot occur before start-timestamp")
}
return nil
}