mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 10:46:58 +08:00
fix host name validator
This commit is contained in:
@@ -139,7 +139,7 @@ func (s *sBaremetalRegisterTask) CreateBaremetal() (string, error) {
|
||||
}
|
||||
|
||||
params := jsonutils.NewDict()
|
||||
params.Set("name", jsonutils.NewString("BM"+strings.Replace(s.accessNic.Mac.String(), ":", "", -1)))
|
||||
params.Set("name", jsonutils.NewString(strings.Replace(s.accessNic.Mac.String(), ":", "", -1)))
|
||||
params.Set("access_mac", jsonutils.NewString(s.accessNic.Mac.String()))
|
||||
params.Set("host_type", jsonutils.NewString("baremetal"))
|
||||
params.Set("is_baremetal", jsonutils.JSONTrue)
|
||||
|
||||
@@ -126,3 +126,16 @@ func (manager *SDnsNameValidatorManager) ValidateName(name string) error {
|
||||
}
|
||||
return httperrors.NewInputParameterError("name starts with letter, and contains letter, number and - only")
|
||||
}
|
||||
|
||||
var (
|
||||
hostNameREG = regexp.MustCompile(`^[a-z$][a-z0-9-${}.]*$`)
|
||||
)
|
||||
|
||||
type SHostNameValidatorManager struct{}
|
||||
|
||||
func (manager *SHostNameValidatorManager) ValidateName(name string) error {
|
||||
if hostNameREG.MatchString(name) {
|
||||
return nil
|
||||
}
|
||||
return httperrors.NewInputParameterError("name starts with letter, and contains letter, number and - only")
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ import (
|
||||
type SHostManager struct {
|
||||
db.SEnabledStatusInfrasResourceBaseManager
|
||||
db.SExternalizedResourceBaseManager
|
||||
db.SDnsNameValidatorManager
|
||||
db.SHostNameValidatorManager
|
||||
SZoneResourceBaseManager
|
||||
SManagedResourceBaseManager
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user