From bdcbd2a8f48b1e25971fa055bc92f9e330ab0c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Thu, 10 Jan 2019 17:30:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=BF=E5=85=8D=E5=8F=82=E6=95=B0ports?= =?UTF-8?q?=E6=9C=AA=E7=94=9F=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/compute/models/secgroups.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pkg/compute/models/secgroups.go b/pkg/compute/models/secgroups.go index 2400ca99a8..dec208753a 100644 --- a/pkg/compute/models/secgroups.go +++ b/pkg/compute/models/secgroups.go @@ -174,12 +174,9 @@ func (self *SSecurityGroup) AllowPerformAddRule(ctx context.Context, userCred mc func (self *SSecurityGroup) PerformAddRule(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) (jsonutils.JSONObject, error) { secgrouprule := &SSecurityGroupRule{SecgroupID: self.Id} secgrouprule.SetModelManager(SecurityGroupRuleManager) - secgrouprule.Direction, _ = data.GetString("direction") - secgrouprule.Action, _ = data.GetString("action") - secgrouprule.Priority, _ = data.Int("priority") - secgrouprule.Description, _ = data.GetString("description") - secgrouprule.Protocol, _ = data.GetString("protocol") - secgrouprule.CIDR, _ = data.GetString("cidr") + if err := data.Unmarshal(secgrouprule); err != nil { + return nil, err + } if len(secgrouprule.CIDR) > 0 { if !regutils.MatchCIDR(secgrouprule.CIDR) && !regutils.MatchIPAddr(secgrouprule.CIDR) { return nil, httperrors.NewInputParameterError("invalid ip address: %s", secgrouprule.CIDR) @@ -196,8 +193,7 @@ func (self *SSecurityGroup) PerformAddRule(ctx context.Context, userCred mcclien PortStart: -1, PortEnd: -1, } - ports, _ := data.GetString("ports") - if err := rule.ParsePorts(ports); err != nil { + if err := rule.ParsePorts(secgrouprule.Ports); err != nil { return nil, httperrors.NewInputParameterError(err.Error()) } if err := rule.ValidateRule(); err != nil {