mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 02:37:24 +08:00
Automatic merge from release/2.5.0 -> release/2.6.0
* commit '6970baa2a08950319069a44d75df4c4272bac775': 1. network-list add is_private/is_public filter 2. set default image quota to 10
This commit is contained in:
@@ -18,6 +18,8 @@ func init() {
|
||||
Vpc string `help:"search networks belongs to a VPC"`
|
||||
Region string `help:"search networks belongs to a CloudRegion" json:"cloudregion"`
|
||||
ServerType string `help:"search networks belongs to a ServerType"`
|
||||
Private *bool `help:"show private cloud networks only" json:"is_private"`
|
||||
Public *bool `help:"show public cloud networks only" json:"is_public"`
|
||||
}
|
||||
R(&NetworkListOptions{}, "network-list", "List networks", func(s *mcclient.ClientSession, opts *NetworkListOptions) error {
|
||||
params, err := options.ListStructToParams(opts)
|
||||
|
||||
@@ -1472,6 +1472,24 @@ func (manager *SNetworkManager) ListItemFilter(ctx context.Context, q *sqlchemy.
|
||||
q = q.Filter(sqlchemy.In(q.Field("wire_id"), subq.SubQuery()))
|
||||
}
|
||||
|
||||
if query.Contains("is_private") && jsonutils.QueryBoolean(query, "is_private", false) {
|
||||
wires := WireManager.Query().SubQuery()
|
||||
vpcs := VpcManager.Query().SubQuery()
|
||||
subq := wires.Query(wires.Field("id"))
|
||||
subq = subq.Join(vpcs, sqlchemy.Equals(vpcs.Field("id"), wires.Field("vpc_id")))
|
||||
subq = subq.Filter(sqlchemy.IsNullOrEmpty(vpcs.Field("manager_id")))
|
||||
q = q.Filter(sqlchemy.In(q.Field("wire_id"), subq.SubQuery()))
|
||||
}
|
||||
|
||||
if query.Contains("is_public") && jsonutils.QueryBoolean(query, "is_public", false) {
|
||||
wires := WireManager.Query().SubQuery()
|
||||
vpcs := VpcManager.Query().SubQuery()
|
||||
subq := wires.Query(wires.Field("id"))
|
||||
subq = subq.Join(vpcs, sqlchemy.Equals(vpcs.Field("id"), wires.Field("vpc_id")))
|
||||
subq = subq.Filter(sqlchemy.IsNotEmpty(vpcs.Field("manager_id")))
|
||||
q = q.Filter(sqlchemy.In(q.Field("wire_id"), subq.SubQuery()))
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ type SImageOptions struct {
|
||||
|
||||
pending_delete.SPendingDeleteOptions
|
||||
|
||||
DefaultImageQuota int `default:"5" help:"Common image quota per tenant, default 5"`
|
||||
DefaultImageQuota int `default:"10" help:"Common image quota per tenant, default 10"`
|
||||
|
||||
PortV2 int `help:"Listening port for region V2"`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user