mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-07-01 02:24:47 +08:00
fix(region): ipv6 filter (#19411)
This commit is contained in:
@@ -80,6 +80,9 @@ type VpcListInput struct {
|
||||
// example: 192.168.222.0/24
|
||||
CidrBlock []string `json:"cidr_block"`
|
||||
|
||||
// IPv6地址段
|
||||
CidrBlock6 []string `json:"cidr_block6"`
|
||||
|
||||
// enmu: eip, none
|
||||
ExternalAccessMode string `json:"external_access_mode"`
|
||||
|
||||
|
||||
@@ -425,6 +425,7 @@ func (manager *SGuestManager) ListItemFilter(
|
||||
conditions := []sqlchemy.ICondition{}
|
||||
for _, ipAddr := range query.IpAddrs {
|
||||
conditions = append(conditions, sqlchemy.Regexp(grpnets.Field("ip_addr"), ipAddr))
|
||||
conditions = append(conditions, sqlchemy.Regexp(grpnets.Field("ip6_addr"), ipAddr))
|
||||
}
|
||||
vipq = vipq.Join(grpnets, sqlchemy.Equals(grpnets.Field("group_id"), vipq.Field("group_id"))).Filter(
|
||||
sqlchemy.OR(conditions...),
|
||||
@@ -444,6 +445,7 @@ func (manager *SGuestManager) ListItemFilter(
|
||||
conditions = []sqlchemy.ICondition{}
|
||||
for _, ipAddr := range query.IpAddrs {
|
||||
conditions = append(conditions, sqlchemy.Regexp(gnQ.Field("ip_addr"), ipAddr))
|
||||
conditions = append(conditions, sqlchemy.Regexp(gnQ.Field("ip6_addr"), ipAddr))
|
||||
}
|
||||
gn := gnQ.Filter(sqlchemy.OR(conditions...))
|
||||
|
||||
|
||||
@@ -1315,6 +1315,10 @@ func (manager *SVpcManager) ListItemFilter(
|
||||
q = q.In("cidr_block", query.CidrBlock)
|
||||
}
|
||||
|
||||
if len(query.CidrBlock6) > 0 {
|
||||
q = q.In("cidr_block6", query.CidrBlock6)
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,8 @@ type VpcListOptions struct {
|
||||
ZoneId string `help:"Filter by zone which has networks"`
|
||||
UsableForInterVpcNetworkId string `help:"Filter usable vpcs for inter vpc network"`
|
||||
OrderByWireCount string
|
||||
CidrBlock string `help:"IPv4 cidr block"`
|
||||
CidrBlock6 string `help:"IPv6 cidr block"`
|
||||
}
|
||||
|
||||
func (opts *VpcListOptions) GetContextId() string {
|
||||
|
||||
Reference in New Issue
Block a user