From 7e128a8ebaa18d05c46ab619faa571048301a5a4 Mon Sep 17 00:00:00 2001 From: ioito Date: Wed, 15 Dec 2021 15:45:17 +0800 Subject: [PATCH] fix(region): vpc sync misc fix --- pkg/apis/compute/routetable_routesets.go | 3 +++ pkg/compute/models/routetable_routesets.go | 9 +++++++++ pkg/mcclient/options/routetable_routeset.go | 3 +++ pkg/multicloud/qcloud/vpc.go | 8 ++++++-- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/pkg/apis/compute/routetable_routesets.go b/pkg/apis/compute/routetable_routesets.go index ec0acd26cc..0d24bb5789 100644 --- a/pkg/apis/compute/routetable_routesets.go +++ b/pkg/apis/compute/routetable_routesets.go @@ -70,4 +70,7 @@ type RouteTableRouteSetListInput struct { apis.StatusStandaloneResourceListInput apis.ExternalizedResourceBaseListInput RouteTableFilterList + Type string `json:"type"` + NextHopType string `json:"next_hop_type"` + NextHopId string `json:"next_hop_id"` } diff --git a/pkg/compute/models/routetable_routesets.go b/pkg/compute/models/routetable_routesets.go index 60747d364f..f3190db282 100644 --- a/pkg/compute/models/routetable_routesets.go +++ b/pkg/compute/models/routetable_routesets.go @@ -188,6 +188,15 @@ func (manager *SRouteTableRouteSetManager) ListItemFilter( if err != nil { return nil, errors.Wrap(err, "SRouteTableResourceBaseManager.ListItemFilter") } + if len(query.Type) > 0 { + q = q.Equals("type", query.Type) + } + if len(query.NextHopType) > 0 { + q = q.Equals("next_hop_type", query.NextHopType) + } + if len(query.NextHopId) > 0 { + q = q.Equals("next_hop_id", query.NextHopId) + } return q, nil } diff --git a/pkg/mcclient/options/routetable_routeset.go b/pkg/mcclient/options/routetable_routeset.go index 5234dc559b..fb5552cf61 100644 --- a/pkg/mcclient/options/routetable_routeset.go +++ b/pkg/mcclient/options/routetable_routeset.go @@ -20,6 +20,9 @@ type RouteTableRouteSetListOptions struct { BaseListOptions RouteTableId string VpcId string + Type string + NextHopType string + NextHopId string } func (opts *RouteTableRouteSetListOptions) Params() (jsonutils.JSONObject, error) { diff --git a/pkg/multicloud/qcloud/vpc.go b/pkg/multicloud/qcloud/vpc.go index e688bba380..622468e9e3 100644 --- a/pkg/multicloud/qcloud/vpc.go +++ b/pkg/multicloud/qcloud/vpc.go @@ -228,10 +228,14 @@ func (self *SVpc) GetSVpcPeeringConnections() ([]SVpcPC, error) { if err != nil { return nil, errors.Wrapf(err, "self.region.GetAllVpcPeeringConnections(%s)", self.GetId()) } + ret := []SVpcPC{} for i := range svpcPCs { - svpcPCs[i].vpc = self + if svpcPCs[i].UnVpcID == self.VpcId { + svpcPCs[i].vpc = self + ret = append(ret, svpcPCs[i]) + } } - return svpcPCs, nil + return ret, nil } func (self *SVpc) GetAccepterSVpcPeeringConnections() ([]SVpcPC, error) {