]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/hashicorp/terraform/helper/schema/schema.go
Merge pull request #3 from terraform-providers/vendor-tf-0.10
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / helper / schema / schema.go
index 632672ae069381ba0c9f91daeaacce78b26e5faa..acb5618ba2656b259ce165faf7f1ccb6913ec012 100644 (file)
@@ -15,6 +15,7 @@ import (
        "fmt"
        "os"
        "reflect"
+       "regexp"
        "sort"
        "strconv"
        "strings"
@@ -661,7 +662,13 @@ func (m schemaMap) InternalValidate(topSchemaMap schemaMap) error {
                if v.ValidateFunc != nil {
                        switch v.Type {
                        case TypeList, TypeSet:
-                               return fmt.Errorf("ValidateFunc is not yet supported on lists or sets.")
+                               return fmt.Errorf("%s: ValidateFunc is not yet supported on lists or sets.", k)
+                       }
+               }
+
+               if v.Deprecated == "" && v.Removed == "" {
+                       if !isValidFieldName(k) {
+                               return fmt.Errorf("%s: Field name may only contain lowercase alphanumeric characters & underscores.", k)
                        }
                }
        }
@@ -669,6 +676,11 @@ func (m schemaMap) InternalValidate(topSchemaMap schemaMap) error {
        return nil
 }
 
+func isValidFieldName(name string) bool {
+       re := regexp.MustCompile("^[a-z0-9_]+$")
+       return re.MatchString(name)
+}
+
 func (m schemaMap) diff(
        k string,
        schema *Schema,