| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- package llm
- import (
- "fmt"
- "reflect"
- "yunion.io/x/jsonutils"
- "yunion.io/x/pkg/gotypes"
- "yunion.io/x/onecloud/pkg/apis"
- computeapi "yunion.io/x/onecloud/pkg/apis/compute"
- )
- func init() {
- gotypes.RegisterSerializable(reflect.TypeOf(&Volume{}), func() gotypes.ISerializable {
- return &Volume{}
- })
- gotypes.RegisterSerializable(reflect.TypeOf(&Volumes{}), func() gotypes.ISerializable {
- return &Volumes{}
- })
- gotypes.RegisterSerializable(reflect.TypeOf(&ContainerVolumeRelations{}), func() gotypes.ISerializable {
- return &ContainerVolumeRelations{}
- })
- }
- const (
- VOLUME_STATUS_READY = computeapi.DISK_READY
- VOLUME_STATUS_START_SYNC_STATUS = "start_syncstatus"
- VOLUME_STATUS_SYNC_STATUS = "syncstatus"
- VOLUME_STATUS_SYNC_STATUS_FAILED = "syncstatus_fail"
- VOLUME_STATUS_START_RESET = "start_reset"
- VOLUME_STATUS_RESETTING = "resetting"
- VOLUME_STATUS_RESET_FAILED = "reset_fail"
- VOLUME_STATUS_START_RESIZE = "start_resize"
- VOLUME_STATUS_RESIZING = "resizing"
- VOLUME_STATUS_RESIZE_FAILED = "resize_fail"
- VOLUME_STATUS_ASSIGNING = "assigning"
- )
- type VolumeDetails struct {
- apis.VirtualResourceDetails
- Volume
- Template string `json:"template"`
- DesktopId string `json:"desktop_id"`
- DesktopName string `json:"desktop_name"`
- DesktopStatus string `json:"desktop_status"`
- Disk string `json:"disk"`
- StorageId string `json:"storage_id"`
- Storage string `json:"storage"`
- StorageStatus string `json:"storage_status"`
- StorageHosts []computeapi.StorageHost `json:"storage_hosts"`
- Hosts []HostInfo `json:"hosts"`
- HostInfo
- InstanceId string `json:"instance_id"`
- InstanceName string `json:"instance_name"`
- }
- type ContainerVolumeRelation struct {
- MountPath string `json:"mount_path"`
- SubDirectory string `json:"sub_directory"`
- Overlay *apis.ContainerVolumeMountDiskOverlay `json:"overlay"`
- FsUser *int64 `json:"fs_user"`
- FsGroup *int64 `json:"fs_group"`
- }
- // key is string format of integer
- type ContainerVolumeRelations map[string]*ContainerVolumeRelation
- func (s ContainerVolumeRelations) String() string {
- return jsonutils.Marshal(s).String()
- }
- func (s ContainerVolumeRelations) IsZero() bool {
- return len(s) == 0
- }
- type Volume struct {
- // db.SStandaloneAnonResourceBase
- Id string `json:"id"`
- Name string `json:"name"`
- StorageType string `json:"storage_type"`
- TemplateId string `json:"template_id"`
- SizeMB int `json:"size_mb"`
- // Container index to mount path relation
- Containers ContainerVolumeRelations `json:"containers"`
- }
- func (s Volume) String() string {
- return jsonutils.Marshal(s).String()
- }
- func (s Volume) IsZero() bool {
- return s.SizeMB == 0
- }
- func (s Volume) GetVolumeByContainer(containerIndex int) *ContainerVolumeRelation {
- if len(s.Containers) == 0 {
- return nil
- }
- key := fmt.Sprintf("%d", containerIndex)
- return s.Containers[key]
- }
- type Volumes []Volume
- func (s Volumes) String() string {
- return jsonutils.Marshal(s).String()
- }
- func (s Volumes) IsZero() bool {
- return len(s) == 0
- }
- type VolumeCreateInput struct {
- apis.VirtualResourceCreateInput
- ImageId string `json:"image_id"`
- Size int `json:"size"`
- StorageType string `json:"storage_type"`
- PreferHost string `json:"prefer_host"`
- }
- type VolumePerformResetInput struct {
- SizeGb int `json:"size_gb"`
- }
- type VolumePerformResizeInput struct {
- Size string `json:"size"`
- }
- type VolumeResizeTaskInput struct {
- SizeMB int `json:"size_mb"`
- DesktopStatus string `json:"desktop_status"`
- }
- type VolumeListInput struct {
- apis.VirtualResourceListInput
- Host string `json:"host"`
- Unused *bool `json:"unused"`
- Size string `json:"size"`
- DesktopId string `json:"desktop_id"`
- }
|