Skip to content

Commit

Permalink
Merge pull request #682 from ioito/hotfix/qx-zstack-secgroup-rule
Browse files Browse the repository at this point in the history
fix(zstack): secgroup rule create
  • Loading branch information
ioito authored Jan 4, 2024
2 parents ecb4b9e + 876070f commit c31ea84
Showing 1 changed file with 19 additions and 9 deletions.
28 changes: 19 additions & 9 deletions pkg/multicloud/zstack/securitygroup.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,15 @@ func (self *SSecurityGroup) GetProjectId() string {
return ""
}

func (region *SRegion) CreateSecurityGroupRule(secgroupId string, opts *cloudprovider.SecurityGroupRuleCreateOptions) error {
func (self *SSecurityGroup) CreateRule(opts *cloudprovider.SecurityGroupRuleCreateOptions) (cloudprovider.ISecurityGroupRule, error) {
rule, err := self.region.CreateSecurityGroupRule(self.UUID, opts)
if err != nil {
return nil, err
}
return rule, nil
}

func (region *SRegion) CreateSecurityGroupRule(secgroupId string, opts *cloudprovider.SecurityGroupRuleCreateOptions) (*SSecurityGroupRule, error) {
ruleParam := map[string]interface{}{
"allowedCidr": opts.CIDR,
"type": "Ingress",
Expand Down Expand Up @@ -145,15 +153,17 @@ func (region *SRegion) CreateSecurityGroupRule(secgroupId string, opts *cloudpro
}
}
}
if len(ruleParam) > 0 {
params := map[string]interface{}{
"params": map[string]interface{}{
"rules": []map[string]interface{}{ruleParam},
},
}
return region.client.create(fmt.Sprintf("security-groups/%s/rules", secgroupId), jsonutils.Marshal(params), nil)
params := map[string]interface{}{
"params": map[string]interface{}{
"rules": []map[string]interface{}{ruleParam},
},
}
return nil
rule := &SSecurityGroupRule{region: region}
err := region.client.create(fmt.Sprintf("security-groups/%s/rules", secgroupId), jsonutils.Marshal(params), rule)
if err != nil {
return nil, err
}
return rule, nil
}

func (region *SRegion) DeleteSecurityGroupRules(ruleIds []string) error {
Expand Down

0 comments on commit c31ea84

Please sign in to comment.