in spanner_prober/main.go [174:224]
func validateFlags() []error {
var errs []error
projectRegex, err := regexp.Compile(`^[-_:.a-zA-Z0-9]*$`)
if err != nil {
return []error{err}
}
instanceDBRegex, err := regexp.Compile(`^[-_.a-zA-Z0-9]*$`)
if err != nil {
return []error{err}
}
// We limit qps to < 1000 to ensure we don't overload Spanner accidentally.
if *qps <= 0 || *qps > 1000 {
errs = append(errs, fmt.Errorf("qps must be 1 <= qps <= 1000, was %v", *qps))
}
if *numRows <= 0 {
errs = append(errs, fmt.Errorf("num_rows must be > 0, was %v", *numRows))
}
if *payloadSize <= 0 {
errs = append(errs, fmt.Errorf("payload_size must be > 0, was %v", *payloadSize))
}
if matched := projectRegex.MatchString(*project); !matched {
errs = append(errs, fmt.Errorf("project did not match %v, was %v", projectRegex, *project))
}
if matched := projectRegex.MatchString(*opsProject); !matched {
errs = append(errs, fmt.Errorf("ops_project did not match %v, was %v", projectRegex, *opsProject))
}
if matched := instanceDBRegex.MatchString(*instance_name); !matched {
errs = append(errs, fmt.Errorf("instance did not match %v, was %v", instanceDBRegex, *instance_name))
}
if matched := instanceDBRegex.MatchString(*database_name); !matched {
errs = append(errs, fmt.Errorf("database did not match %v, was %v", instanceDBRegex, *database_name))
}
if matched := instanceDBRegex.MatchString(*instanceConfig); !matched {
errs = append(errs, fmt.Errorf("instance_config did not match %v, was %v", instanceDBRegex, *instanceConfig))
}
if _, err := proberlib.ParseProbeType(*probeType); err != nil {
errs = append(errs, err)
}
return errs
}