awesome-cli/cli/internal/entity/vm.go

43 lines
907 B
Go

package entity
import (
"awesome_cli/internal/ui"
)
type VirtualMachineOutput struct {
UUID string `json:"vm_uuid,omitempty"`
Status VMStatus `json:"status,omitempty"`
Name string `json:"name,omitempty"`
Autostart bool `json:"autostart,omitempty"`
CPU int `json:"cpu,omitempty"`
DatastoreName string `json:"datastore_name,omitempty"`
Memory int `json:"memory,omitempty"`
}
type VMStatus int
const (
Creating VMStatus = iota + 1
Running
Stopped
Failed
Paused
)
func (s VMStatus) String() string {
switch s {
case Creating:
return ui.SetColor(ui.Yellow, "Creating")
case Running:
return ui.SetColor(ui.Green, "Running")
case Stopped:
return ui.SetColor(ui.Red, "Stopped")
case Failed:
return ui.SetColor(ui.Red, "Failed")
case Paused:
return ui.SetColor(ui.Yellow, "Paused")
default:
return "Unknown"
}
}