fix(region): add filter for secgroup rule (#22578)

This commit is contained in:
屈轩
2025-05-21 19:27:01 +08:00
committed by GitHub
parent 30fa56ff41
commit 9ebbd6cebc
2 changed files with 15 additions and 0 deletions
+2
View File
@@ -255,6 +255,8 @@ type SecgroupResourceInput struct {
type SecgroupFilterListInput struct {
SecgroupResourceInput
RegionalFilterListInput
ManagedResourceListInput
// 以安全组排序
OrderBySecgroup string `json:"order_by_secgroup"`
+13
View File
@@ -125,10 +125,23 @@ func (manager *SSecurityGroupResourceBaseManager) ListItemFilter(
}
q = q.Equals("secgroup_id", secgrpObj.GetId())
}
if len(query.SecgroupName) > 0 {
sq := SecurityGroupManager.Query("id").Like("name", "%"+query.SecgroupName+"%")
q = q.In("secgroup_id", sq.SubQuery())
}
var err error
q, err = manager.SManagedResourceBaseManager.ListItemFilter(ctx, q, userCred, query.ManagedResourceListInput)
if err != nil {
return nil, errors.Wrap(err, "SManagedResourceBaseManager.ListItemFilter")
}
q, err = manager.SCloudregionResourceBaseManager.ListItemFilter(ctx, q, userCred, query.RegionalFilterListInput)
if err != nil {
return nil, errors.Wrap(err, "SCloudregionResourceBaseManager.ListItemFilter")
}
return q, nil
}