Move regexp to package scope so it will be validated by the compiler instead of at runtime
This commit is contained in:
parent
f469434f74
commit
2f0e1218dc
|
@ -14,6 +14,8 @@ import (
|
||||||
"github.com/mitchellh/packer/template/interpolate"
|
"github.com/mitchellh/packer/template/interpolate"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var reImageFamily = regexp.MustCompile(`^[a-z]([-a-z0-9]{0,61}[a-z0-9])?$`)
|
||||||
|
|
||||||
// Config is the configuration structure for the GCE builder. It stores
|
// Config is the configuration structure for the GCE builder. It stores
|
||||||
// both the publicly settable state as well as the privately generated
|
// both the publicly settable state as well as the privately generated
|
||||||
// state of the config object.
|
// state of the config object.
|
||||||
|
@ -101,7 +103,7 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.ImageFamily != "" {
|
if c.ImageFamily != "" {
|
||||||
if !regexp.MustCompile(`^[a-z]([-a-z0-9]{0,61}[a-z0-9])?$`).MatchString(c.ImageFamily) {
|
if !reImageFamily.MatchString(c.ImageFamily) {
|
||||||
errs = packer.MultiErrorAppend(errs,
|
errs = packer.MultiErrorAppend(errs,
|
||||||
errors.New("Invalid image family: The first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash"))
|
errors.New("Invalid image family: The first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash"))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue