mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #10965 from tb365/automated-cherry-pick-of-#10964-upstream-release-3.7
Automated cherry pick of #10964: Bugfix/tb bugfix 042801
This commit is contained in:
@@ -88,6 +88,17 @@ type SCapabilities struct {
|
||||
InstanceCapabilities []cloudprovider.SInstanceCapability
|
||||
}
|
||||
|
||||
func GetDiskCapabilities(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, region *SCloudregion, zone *SZone) (SCapabilities, error) {
|
||||
capa := SCapabilities{}
|
||||
s1, d1, s2, s3, d2, d3 := getStorageTypes(region, zone, "")
|
||||
capa.StorageTypes, capa.DataStorageTypes = s1, d1
|
||||
capa.StorageTypes2, capa.StorageTypes3 = s2, s3
|
||||
capa.DataStorageTypes2, capa.DataStorageTypes3 = d2, d3
|
||||
capa.MinDataDiskCount = getMinDataDiskCount(region, zone)
|
||||
capa.MaxDataDiskCount = getMaxDataDiskCount(region, zone)
|
||||
return capa, nil
|
||||
}
|
||||
|
||||
func GetCapabilities(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, region *SCloudregion, zone *SZone) (SCapabilities, error) {
|
||||
capa := SCapabilities{}
|
||||
var ownerId mcclient.IIdentityProvider
|
||||
|
||||
@@ -924,6 +924,18 @@ func (self *SCloudregion) GetDetailsCapability(ctx context.Context, userCred mcc
|
||||
return jsonutils.Marshal(&capa), nil
|
||||
}
|
||||
|
||||
func (self *SCloudregion) AllowGetDetailsDiskCapability(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (self *SCloudregion) GetDetailsDiskCapability(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (jsonutils.JSONObject, error) {
|
||||
capa, err := GetDiskCapabilities(ctx, userCred, query, self, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return jsonutils.Marshal(&capa), nil
|
||||
}
|
||||
|
||||
func (self *SCloudregion) GetNetworkCount() (int, error) {
|
||||
return getNetworkCount(nil, rbacutils.ScopeSystem, self, nil)
|
||||
}
|
||||
|
||||
@@ -674,6 +674,18 @@ func (self *SZone) GetDetailsCapability(ctx context.Context, userCred mcclient.T
|
||||
return jsonutils.Marshal(&capa), nil
|
||||
}
|
||||
|
||||
func (self *SZone) AllowGetDetailsDiskCapability(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (self *SZone) GetDetailsDiskCapability(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (jsonutils.JSONObject, error) {
|
||||
capa, err := GetDiskCapabilities(ctx, userCred, query, nil, self)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return jsonutils.Marshal(&capa), nil
|
||||
}
|
||||
|
||||
func (self *SZone) isManaged() bool {
|
||||
region := self.GetRegion()
|
||||
if region != nil && len(region.ExternalId) == 0 {
|
||||
|
||||
Reference in New Issue
Block a user