llm_backup.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package models
  2. import "yunion.io/x/onecloud/pkg/cloudcommon/db"
  3. var llmBackupManager *SLLMBackupManager
  4. func init() {
  5. GetLLMBackupManager()
  6. }
  7. func GetLLMBackupManager() *SLLMBackupManager {
  8. if llmBackupManager != nil {
  9. return llmBackupManager
  10. }
  11. llmBackupManager = &SLLMBackupManager{
  12. SVirtualResourceBaseManager: db.NewVirtualResourceBaseManager(
  13. SLLMBackup{},
  14. "llm_backups_tbl",
  15. "llm_backup",
  16. "llm_backups",
  17. ),
  18. }
  19. llmBackupManager.SetVirtualObject(llmBackupManager)
  20. llmBackupManager.TableSpec().AddIndex(true, "deleted", "llm_id", "volume_id")
  21. return llmBackupManager
  22. }
  23. type SLLMBackupManager struct {
  24. db.SVirtualResourceBaseManager
  25. SMountedModelsResourceManager
  26. }
  27. type SLLMBackup struct {
  28. db.SVirtualResourceBase
  29. SMountedModelsResource
  30. // llm 规格ID,不超过32个字节。
  31. LLMSkuId string `width:"128" charset:"ascii" nullable:"true" list:"user"`
  32. // llm 镜像ID,不超过32个字节。
  33. LLMImageId string `width:"128" charset:"ascii" nullable:"true" list:"user"`
  34. // llm ID
  35. LLMId string `width:"128" charset:"ascii" nullable:"true" list:"user"`
  36. // llm 名称
  37. LLMName string `width:"128" charset:"utf8" nullable:"true" list:"user"`
  38. // 数据盘ID
  39. VolumeId string `width:"128" charset:"ascii" nullable:"true" list:"user"`
  40. // 云手机数据盘名称
  41. VolumeName string `width:"128" charset:"utf8" nullable:"true" list:"user"`
  42. VolumeSizeMB int `list:"user"`
  43. StorageType string `width:"16" charset:"ascii" nullable:"true" list:"user"`
  44. TemplateId string `width:"128" charset:"ascii" nullable:"true" list:"user"`
  45. IncludeFiles []string `charset:"utf8" list:"user"`
  46. ExcludeFiles []string `charset:"utf8" list:"user"`
  47. // 磁盘备份ID
  48. DiskbackupId string `width:"128" charset:"ascii" nullable:"true" list:"user"`
  49. // 磁盘备份大小
  50. BackupSizeMb int `list:"user"`
  51. // MountedApps []string `charset:"utf8" list:"user"`
  52. }