terraform-provider-google/google/validation.go
Riley Karson 4cc6e9939a Add name validation function, standardise validation functions used (#164)
* Used standard validation functions where possible, added a GCP name validation function.

* Add tests for GCP name, factor out a ValidateRegexp function.

* make fmt
2017-07-07 12:48:29 -07:00

25 lines
569 B
Go

package google
import (
"fmt"
"github.com/hashicorp/terraform/helper/schema"
"regexp"
)
func validateGCPName(v interface{}, k string) (ws []string, errors []error) {
re := `^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$`
return validateRegexp(re)(v, k)
}
func validateRegexp(re string) schema.SchemaValidateFunc {
return func(v interface{}, k string) (ws []string, errors []error) {
value := v.(string)
if !regexp.MustCompile(re).MatchString(value) {
errors = append(errors, fmt.Errorf(
"%q (%q) doesn't match regexp %q", k, value, re))
}
return
}
}