mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 10:46:58 +08:00
lb: 改正update参数校验
Fixes e4ef23515f ("aws elb support")
Ref
BEGIN {
c=0
u=0
fool=0
}
/^+++ b/ {
f=substr($0, 7)
next
}
/^@@ .*Create.*/ {
cl=$0
c=1
u=0
next
}
/^@@ .*Update.*/ {
ul=$0
c=0
u=1
next
}
/func init()/ {
next
}
/^@@ .*/ {
fool=1
printf "unknown: %s\n", $0
exit
}
/ RunValidators\([^)]+, false); .*/ {
if (c == 0) {
printf "%s: %d: c err: %s\n", f, NR, cl
exit
}
}
/ RunValidators\([^)]+, true); .*/ {
if (u == 0) {
printf "%s: %d: u err: %s\n", f, NR, ul
exit
}
}
This commit is contained in:
@@ -66,7 +66,7 @@ func (self *SAliyunRegionDriver) validateCreateLBCommonData(ownerId mcclient.IId
|
||||
"loadbalancer_spec": loadbalancerSpecV,
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
@@ -200,7 +200,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerBackendData(ctx conte
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -300,7 +300,7 @@ func (self *SAliyunRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx conte
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -334,7 +334,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx
|
||||
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -439,7 +439,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -487,7 +487,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(httpsV, data); err != nil {
|
||||
if err := RunValidators(httpsV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -508,7 +508,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
"health_check_interval": validators.NewRangeValidator("health_check_interval", 1, 50).Default(2),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyVHealth, data); err != nil {
|
||||
if err := RunValidators(keyVHealth, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -578,7 +578,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
V["backend_server_port"] = validators.NewPortValidator("backend_server_port")
|
||||
}
|
||||
|
||||
if err := RunValidators(V, data); err != nil {
|
||||
if err := RunValidators(V, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -666,7 +666,7 @@ func (self *SAliyunRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx cont
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2"),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -796,7 +796,7 @@ func (self *SAliyunRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx cont
|
||||
}
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return self.SManagedVirtualizationRegionDriver.ValidateUpdateLoadbalancerListenerData(ctx, userCred, data, lblis, backendGroup)
|
||||
|
||||
@@ -133,7 +133,7 @@ func (self *SAwsRegionDriver) validateCreateLBCommonData(ownerId mcclient.IIdent
|
||||
"loadbalancer_spec": loadbalancerSpecV,
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
@@ -200,7 +200,7 @@ func (self *SAwsRegionDriver) validateCreateApplicationListenerData(ctx context.
|
||||
"sticky_session_cookie_timeout": validators.NewNonNegativeValidator("sticky_session_cookie_timeout").Optional(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -239,7 +239,7 @@ func (self *SAwsRegionDriver) validateCreateApplicationListenerData(ctx context.
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(httpsV, data); err != nil {
|
||||
if err := RunValidators(httpsV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -260,7 +260,7 @@ func (self *SAwsRegionDriver) validateCreateApplicationListenerData(ctx context.
|
||||
"health_check_interval": validators.NewRangeValidator("health_check_interval", 5, 300).Default(30),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyVHealth, data); err != nil {
|
||||
if err := RunValidators(keyVHealth, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -283,7 +283,7 @@ func (self *SAwsRegionDriver) validateCreateNetworkListenerData(ctx context.Cont
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -328,7 +328,7 @@ func (self *SAwsRegionDriver) validateCreateNetworkListenerData(ctx context.Cont
|
||||
"health_check_interval": validators.NewRangeValidator("health_check_interval", 10, 30).Default(30),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyVHealth, data); err != nil {
|
||||
if err := RunValidators(keyVHealth, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -386,7 +386,7 @@ func (self *SAwsRegionDriver) validateUpdateApplicationListenerData(ctx context.
|
||||
"sticky_session_cookie_timeout": validators.NewNonNegativeValidator("sticky_session_cookie_timeout").Optional(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -413,7 +413,7 @@ func (self *SAwsRegionDriver) validateUpdateApplicationListenerData(ctx context.
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(httpsV, data); err != nil {
|
||||
if err := RunValidators(httpsV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -434,7 +434,7 @@ func (self *SAwsRegionDriver) validateUpdateApplicationListenerData(ctx context.
|
||||
"health_check_interval": validators.NewRangeValidator("health_check_interval", 5, 300).Default(30),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyVHealth, data); err != nil {
|
||||
if err := RunValidators(keyVHealth, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -457,7 +457,7 @@ func (self *SAwsRegionDriver) validateUpdateNetworkListenerData(ctx context.Cont
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -491,7 +491,7 @@ func (self *SAwsRegionDriver) validateUpdateNetworkListenerData(ctx context.Cont
|
||||
"health_check_interval": validators.NewRangeValidator("health_check_interval", 10, 30).Default(30),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyVHealth, data); err != nil {
|
||||
if err := RunValidators(keyVHealth, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -534,7 +534,7 @@ func (self *SAwsRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx con
|
||||
"path": pathV.Default("").Optional(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -624,7 +624,7 @@ func (self *SAwsRegionDriver) ValidateCreateLoadbalancerBackendData(ctx context.
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -711,7 +711,7 @@ func (self *SAwsRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx context.
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerData(ctx context.Cont
|
||||
"manager": managerIdV,
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerBackendData(ctx conte
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -290,7 +290,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
"gzip": validators.NewBoolValidator("gzip").Default(false),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -317,7 +317,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(httpsV, data); err != nil {
|
||||
if err := RunValidators(httpsV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -338,7 +338,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
"health_check_interval": validators.NewRangeValidator("health_check_interval", 1, 50).Default(5),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyVHealth, data); err != nil {
|
||||
if err := RunValidators(keyVHealth, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -365,7 +365,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx
|
||||
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -454,7 +454,7 @@ func (self *SHuaWeiRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx conte
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -520,7 +520,7 @@ func (self *SHuaWeiRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx cont
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2"),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -43,8 +43,11 @@ func init() {
|
||||
models.RegisterRegionDriver(&driver)
|
||||
}
|
||||
|
||||
func RunValidators(validators map[string]validators.IValidator, data *jsonutils.JSONDict) error {
|
||||
func RunValidators(validators map[string]validators.IValidator, data *jsonutils.JSONDict, optional bool) error {
|
||||
for _, v := range validators {
|
||||
if optional {
|
||||
v.Optional(true)
|
||||
}
|
||||
if err := v.Validate(data); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -68,7 +71,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerData(ctx context.Context
|
||||
"network": networkV,
|
||||
"cluster": clusterV.Optional(true),
|
||||
}
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -167,7 +170,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerBackendData(ctx context.
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -268,7 +271,7 @@ func (self *SKVMRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx context.
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -290,7 +293,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx con
|
||||
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -380,7 +383,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerListenerData(ctx context
|
||||
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -407,7 +410,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerListenerData(ctx context
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(httpsV, data); err != nil {
|
||||
if err := RunValidators(httpsV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -428,7 +431,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerListenerData(ctx context
|
||||
"health_check_interval": validators.NewRangeValidator("health_check_interval", 1, 1000).Default(5),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyVHealth, data); err != nil {
|
||||
if err := RunValidators(keyVHealth, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -504,7 +507,7 @@ func (self *SKVMRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx context
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2"),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerData(ctx context.Cont
|
||||
"manager": managerIdV,
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
"gzip": validators.NewBoolValidator("gzip").Default(false),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(httpsV, data); err != nil {
|
||||
if err := RunValidators(httpsV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -171,7 +171,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
|
||||
"health_check_interval": validators.NewRangeValidator("health_check_interval", 5, 300).Default(5),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyVHealth, data); err != nil {
|
||||
if err := RunValidators(keyVHealth, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -578,7 +578,7 @@ func (self *SQcloudRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx cont
|
||||
"enable_http2": validators.NewBoolValidator("enable_http2"),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -599,7 +599,7 @@ func (self *SQcloudRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx conte
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return data, nil
|
||||
@@ -617,7 +617,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx
|
||||
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -680,7 +680,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerBackendData(ctx conte
|
||||
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
|
||||
}
|
||||
|
||||
if err := RunValidators(keyV, data); err != nil {
|
||||
if err := RunValidators(keyV, data, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user