mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
fix(region): prepare regions by prefix (#19873)
This commit is contained in:
@@ -1541,7 +1541,7 @@ func (provider *SCloudprovider) prepareCloudproviderRegions(ctx context.Context,
|
||||
return []SCloudproviderregion{*cpr}, nil
|
||||
}
|
||||
iregions := driver.GetIRegions()
|
||||
externalIdPrefix := strings.TrimSuffix(driver.GetCloudRegionExternalIdPrefix(), "/")
|
||||
externalIdPrefix := driver.GetCloudRegionExternalIdPrefix()
|
||||
_, _, cprs, result := CloudregionManager.SyncRegions(ctx, userCred, provider, externalIdPrefix, iregions)
|
||||
if result.IsError() {
|
||||
log.Errorf("syncRegion fail %s", result.Result())
|
||||
|
||||
@@ -17,6 +17,7 @@ package models
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"yunion.io/x/cloudmux/pkg/cloudprovider"
|
||||
@@ -471,11 +472,12 @@ func (self *SCloudregion) GetServerSkus() ([]SServerSku, error) {
|
||||
}
|
||||
|
||||
func (self *SCloudprovider) GetRegionByExternalIdPrefix(prefix string) ([]SCloudregion, error) {
|
||||
prefix = strings.TrimSuffix(prefix, "/")
|
||||
regions := make([]SCloudregion, 0)
|
||||
q := CloudregionManager.Query()
|
||||
q = q.Filter(
|
||||
sqlchemy.OR(
|
||||
sqlchemy.Startswith(q.Field("external_id"), prefix),
|
||||
sqlchemy.Startswith(q.Field("external_id"), prefix+"/"),
|
||||
sqlchemy.Equals(q.Field("external_id"), prefix),
|
||||
),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user