mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-01 15:07:17 +08:00
Automatic merge from release/2.8.0 -> master
* commit '50dd610b6099b69f75e273da7546adafab4d4d88': create private sku fix skus add local category
This commit is contained in:
@@ -29,6 +29,7 @@ func InitDB() error {
|
||||
LoadbalancerBackendManager,
|
||||
SchedtagManager,
|
||||
DynamicschedtagManager,
|
||||
ServerSkuManager,
|
||||
} {
|
||||
err := manager.InitializeData()
|
||||
if err != nil {
|
||||
|
||||
@@ -77,8 +77,9 @@ type SServerSku struct {
|
||||
db.SStandaloneResourceBase
|
||||
|
||||
// SkuId string `width:"64" charset:"ascii" nullable:"false" list:"user" create:"admin_required"` // x2.large
|
||||
InstanceTypeFamily string `width:"32" charset:"ascii" nullable:"false" list:"user" create:"admin_optional" update:"admin"` // x2
|
||||
InstanceTypeCategory string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin"` // 通用型
|
||||
InstanceTypeFamily string `width:"32" charset:"ascii" nullable:"false" list:"user" create:"admin_optional" update:"admin"` // x2
|
||||
InstanceTypeCategory string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin"` // 通用型
|
||||
LocalCategory string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin" default:""` // 记录本地分类
|
||||
|
||||
PrepaidStatus string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin" default:"available"` // 预付费资源状态 available|soldout
|
||||
PostpaidStatus string `width:"32" charset:"utf8" nullable:"false" list:"user" create:"admin_optional" update:"admin" default:"available"` // 按需付费资源状态 available|soldout
|
||||
@@ -338,6 +339,7 @@ func (self *SServerSkuManager) ValidateCreateData(ctx context.Context,
|
||||
if !exists {
|
||||
return nil, httperrors.NewInputParameterError("instance_type_category %s is invalid", category)
|
||||
}
|
||||
data.Add(jsonutils.NewString(category),"local_category")
|
||||
|
||||
data.Set("instance_type_family", jsonutils.NewString(family))
|
||||
// 格式 ecs.g1.c1m1
|
||||
@@ -1065,3 +1067,23 @@ func (manager *SServerSkuManager) FetchAllAvailableSkuIdByZoneId(zoneId string)
|
||||
|
||||
return ids, nil
|
||||
}
|
||||
|
||||
func (manager *SServerSkuManager) InitializeData() error {
|
||||
privateSkus := make([]SServerSku, 0)
|
||||
err := manager.Query().IsNullOrEmpty("local_category").IsNullOrEmpty("zone_id").All(&privateSkus)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, sku := range privateSkus {
|
||||
_, err = manager.TableSpec().Update(&sku, func() error {
|
||||
sku.LocalCategory = sku.InstanceTypeCategory
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user