mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #3478 from tb365/bugfix/tb-bugfix-1106
region sync fix
This commit is contained in:
@@ -55,6 +55,17 @@ const (
|
||||
ONECLOUD_BRAND_ONECLOUD = "OneCloud"
|
||||
)
|
||||
|
||||
const (
|
||||
CLOUD_ACCESS_ENV_AWS_GLOBAL = CLOUD_PROVIDER_AWS + "-int"
|
||||
CLOUD_ACCESS_ENV_AWS_CHINA = CLOUD_PROVIDER_AWS
|
||||
CLOUD_ACCESS_ENV_AZURE_GLOBAL = CLOUD_PROVIDER_AZURE + "-int"
|
||||
CLOUD_ACCESS_ENV_AZURE_GERMAN = CLOUD_PROVIDER_AZURE + "-de"
|
||||
CLOUD_ACCESS_ENV_AZURE_US_GOVERNMENT = CLOUD_PROVIDER_AZURE + "-us-gov"
|
||||
CLOUD_ACCESS_ENV_AZURE_CHINA = CLOUD_PROVIDER_AZURE
|
||||
CLOUD_ACCESS_ENV_HUAWEI_GLOBAL = CLOUD_PROVIDER_HUAWEI + "-int"
|
||||
CLOUD_ACCESS_ENV_HUAWEI_CHINA = CLOUD_PROVIDER_HUAWEI
|
||||
)
|
||||
|
||||
var (
|
||||
CLOUD_PROVIDER_VALID_STATUS = []string{CLOUD_PROVIDER_CONNECTED}
|
||||
CLOUD_PROVIDER_VALID_HEALTH_STATUS = []string{CLOUD_PROVIDER_HEALTH_NORMAL, CLOUD_PROVIDER_HEALTH_NO_PERMISSION}
|
||||
|
||||
@@ -357,6 +357,17 @@ func (self *SAwsClient) GetIProjects() ([]cloudprovider.ICloudProject, error) {
|
||||
return nil, cloudprovider.ErrNotImplemented
|
||||
}
|
||||
|
||||
func (self *SAwsClient) GetAccessEnv() string {
|
||||
switch self.accessUrl {
|
||||
case AWS_INTERNATIONAL_CLOUDENV:
|
||||
return api.CLOUD_ACCESS_ENV_AWS_GLOBAL
|
||||
case AWS_CHINA_CLOUDENV:
|
||||
return api.CLOUD_ACCESS_ENV_AWS_CHINA
|
||||
default:
|
||||
return api.CLOUD_ACCESS_ENV_AWS_GLOBAL
|
||||
}
|
||||
}
|
||||
|
||||
func jsonRequest(cli *client.Client, apiName string, params map[string]string, retval interface{}, debug bool) error {
|
||||
op := &request.Operation{
|
||||
Name: apiName,
|
||||
|
||||
@@ -148,3 +148,7 @@ func (self *SAwsProvider) GetStorageClasses(regionId string) []string {
|
||||
"INTELLIGENT_TIERING",
|
||||
}
|
||||
}
|
||||
|
||||
func (self *SAwsProvider) GetCloudRegionExternalIdPrefix() string {
|
||||
return self.client.GetAccessEnv() + "/"
|
||||
}
|
||||
|
||||
@@ -405,7 +405,7 @@ func (self *SRegion) GetName() string {
|
||||
}
|
||||
|
||||
func (self *SRegion) GetGlobalId() string {
|
||||
return fmt.Sprintf("%s/%s", CLOUD_PROVIDER_AWS, self.RegionId)
|
||||
return fmt.Sprintf("%s/%s", self.client.GetAccessEnv(), self.RegionId)
|
||||
}
|
||||
|
||||
func (self *SRegion) GetStatus() string {
|
||||
|
||||
@@ -929,3 +929,19 @@ func (self *SAzureClient) GetStorageClasses(regionExtId string) ([]string, error
|
||||
}
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (self *SAzureClient) GetAccessEnv() string {
|
||||
env, _ := azureenv.EnvironmentFromName(self.envName)
|
||||
switch env.Name {
|
||||
case azureenv.PublicCloud.Name:
|
||||
return api.CLOUD_ACCESS_ENV_AZURE_GLOBAL
|
||||
case azureenv.ChinaCloud.Name:
|
||||
return api.CLOUD_ACCESS_ENV_AZURE_CHINA
|
||||
case azureenv.GermanCloud.Name:
|
||||
return api.CLOUD_ACCESS_ENV_AZURE_GERMAN
|
||||
case azureenv.USGovernmentCloud.Name:
|
||||
return api.CLOUD_ACCESS_ENV_AZURE_US_GOVERNMENT
|
||||
default:
|
||||
return api.CLOUD_ACCESS_ENV_AZURE_CHINA
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,3 +174,7 @@ func (self *SAzureProvider) GetStorageClasses(regionId string) []string {
|
||||
}
|
||||
return sc
|
||||
}
|
||||
|
||||
func (self *SAzureProvider) GetCloudRegionExternalIdPrefix() string {
|
||||
return self.client.GetAccessEnv() + "/"
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ func (self *SRegion) GetName() string {
|
||||
}
|
||||
|
||||
func (self *SRegion) GetGlobalId() string {
|
||||
return fmt.Sprintf("%s/%s", CLOUD_PROVIDER_AZURE, self.Name)
|
||||
return fmt.Sprintf("%s/%s", self.client.GetAccessEnv(), self.Name)
|
||||
}
|
||||
|
||||
func (self *SRegion) IsEmulated() bool {
|
||||
|
||||
@@ -41,6 +41,9 @@ const (
|
||||
CLOUD_PROVIDER_HUAWEI = api.CLOUD_PROVIDER_HUAWEI
|
||||
CLOUD_PROVIDER_HUAWEI_CN = "华为云"
|
||||
|
||||
HUAWEI_INTERNATIONAL_CLOUDENV = "InternationalCloud"
|
||||
HUAWEI_CHINA_CLOUDENV = "ChinaCloud"
|
||||
|
||||
HUAWEI_DEFAULT_REGION = "cn-north-1"
|
||||
HUAWEI_API_VERSION = "2018-12-25"
|
||||
)
|
||||
@@ -75,6 +78,7 @@ func NewHuaweiClient(providerId, providerName, accessurl, accessKey, secret, pro
|
||||
providerId: providerId,
|
||||
providerName: providerName,
|
||||
projectId: projectId,
|
||||
accessUrl: accessurl,
|
||||
accessKey: accessKey,
|
||||
secret: secret,
|
||||
debug: debug,
|
||||
@@ -399,3 +403,14 @@ func (self *SHuaweiClient) queryDomainBalance(domainId string) (float64, error)
|
||||
func (self *SHuaweiClient) GetVersion() string {
|
||||
return HUAWEI_API_VERSION
|
||||
}
|
||||
|
||||
func (self *SHuaweiClient) GetAccessEnv() string {
|
||||
switch self.accessUrl {
|
||||
case HUAWEI_INTERNATIONAL_CLOUDENV:
|
||||
return api.CLOUD_ACCESS_ENV_HUAWEI_GLOBAL
|
||||
case HUAWEI_CHINA_CLOUDENV:
|
||||
return api.CLOUD_ACCESS_ENV_HUAWEI_CHINA
|
||||
default:
|
||||
return api.CLOUD_ACCESS_ENV_HUAWEI_GLOBAL
|
||||
}
|
||||
}
|
||||
|
||||
@@ -353,7 +353,7 @@ func (self *SRegion) GetName() string {
|
||||
}
|
||||
|
||||
func (self *SRegion) GetGlobalId() string {
|
||||
return fmt.Sprintf("%s/%s", CLOUD_PROVIDER_HUAWEI, self.ID)
|
||||
return fmt.Sprintf("%s/%s", self.client.GetAccessEnv(), self.ID)
|
||||
}
|
||||
|
||||
func (self *SRegion) GetStatus() string {
|
||||
|
||||
Reference in New Issue
Block a user