github.com/containers/podman/v4@v4.9.4/pkg/machine/applehv/rest_config.go (about) 1 //go:build darwin 2 // +build darwin 3 4 package applehv 5 6 import ( 7 "errors" 8 "fmt" 9 10 "github.com/containers/podman/v4/pkg/machine" 11 ) 12 13 // VZMachineState is what the restful service in vfkit will return 14 type VZMachineState string 15 16 const ( 17 // Values that the machine can be in 18 // "VirtualMachineStateStoppedVirtualMachineStateRunningVirtualMachineStatePausedVirtualMachineStateErrorVirtualMachineStateStartingVirtualMachineStatePausingVirtualMachineStateResumingVirtualMachineStateStopping" 19 VZMachineStateStopped VZMachineState = "VirtualMachineStateStopped" 20 VZMachineStateRunning VZMachineState = "VirtualMachineStateRunning" 21 VZMachineStatePaused VZMachineState = "VirtualMachineStatePaused" 22 VZMachineStateError VZMachineState = "VirtualMachineStateError" 23 VZMachineStateStarting VZMachineState = "VirtualMachineStateStarting" 24 VZMachineStatePausing VZMachineState = "VirtualMachineStatePausing" 25 VZMachineStateResuming VZMachineState = "VirtualMachineStateResuming" 26 VZMachineStateStopping VZMachineState = "VirtualMachineStateStopping" 27 ) 28 29 func ToMachineStatus(val string) (machine.Status, error) { 30 switch val { 31 case string(VZMachineStateRunning), string(VZMachineStatePausing), string(VZMachineStateResuming), string(VZMachineStateStopping), string(VZMachineStatePaused): 32 return machine.Running, nil 33 case string(VZMachineStateStopped): 34 return machine.Stopped, nil 35 case string(VZMachineStateStarting): 36 return machine.Starting, nil 37 case string(VZMachineStateError): 38 return "", errors.New("machine is in error state") 39 } 40 return "", fmt.Errorf("unknown machine state: %s", val) 41 }