mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 02:37:24 +08:00
fix: Support 'generate_name' when saving template from guest
This commit is contained in:
@@ -335,6 +335,8 @@ type ConvertEsxiToKvmInput struct {
|
||||
}
|
||||
|
||||
type GuestSaveToTemplateInput struct {
|
||||
// The name of guest
|
||||
// The name of guest template
|
||||
Name string `json:"name"`
|
||||
// The generate name of guest template
|
||||
GenerateName string `json:"generate_name"`
|
||||
}
|
||||
|
||||
@@ -750,8 +750,8 @@ func (g *SGuest) PerformSaveTemplate(ctx context.Context, userCred mcclient.Toke
|
||||
query jsonutils.JSONObject, input computeapis.GuestSaveToTemplateInput) (jsonutils.JSONObject, error) {
|
||||
g.SetStatus(userCred, computeapis.VM_TEMPLATE_SAVING, "save to template")
|
||||
|
||||
if len(input.Name) == 0 {
|
||||
input.Name = fmt.Sprintf("%s-template", g.Name)
|
||||
if len(input.Name) == 0 && len(input.GenerateName) == 0 {
|
||||
input.GenerateName = fmt.Sprintf("%s-template", g.Name)
|
||||
}
|
||||
data := jsonutils.Marshal(input).(*jsonutils.JSONDict)
|
||||
if task, err := taskman.TaskManager.NewTask(ctx, "GuestSaveTemplateTask", g, userCred, data, "", "", nil); err != nil {
|
||||
|
||||
@@ -54,8 +54,13 @@ func (self *GuestSaveTemplateTask) OnInit(ctx context.Context, obj db.IStandalon
|
||||
}
|
||||
|
||||
gtName, _ := self.Params.GetString("name")
|
||||
genGtName, _ := self.Params.GetString("generate_name")
|
||||
dict := jsonutils.NewDict()
|
||||
dict.Set("name", jsonutils.NewString(gtName))
|
||||
if len(genGtName) > 0 {
|
||||
dict.Set("generate_name", jsonutils.NewString(genGtName))
|
||||
} else {
|
||||
dict.Set("name", jsonutils.NewString(gtName))
|
||||
}
|
||||
dict.Set("description", jsonutils.NewString(fmt.Sprintf("Save from Guest '%s'", g.Name)))
|
||||
dict.Set("content", jsonutils.Marshal(ci))
|
||||
session := auth.GetSession(ctx, self.UserCred, "", "")
|
||||
|
||||
Reference in New Issue
Block a user