mirror of
https://github.com/containers/podman.git
synced 2025-08-02 01:09:21 +08:00

The apple hypervisor code works on Intel Macs with very recent operating system versions. [NO NEW TESTS NEEDED] Signed-off-by: Brent Baude <bbaude@redhat.com>
42 lines
1.6 KiB
Go
42 lines
1.6 KiB
Go
//go:build darwin
|
|
// +build darwin
|
|
|
|
package applehv
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
|
|
"github.com/containers/podman/v4/pkg/machine"
|
|
)
|
|
|
|
// VZMachineState is what the restful service in vfkit will return
|
|
type VZMachineState string
|
|
|
|
const (
|
|
// Values that the machine can be in
|
|
// "VirtualMachineStateStoppedVirtualMachineStateRunningVirtualMachineStatePausedVirtualMachineStateErrorVirtualMachineStateStartingVirtualMachineStatePausingVirtualMachineStateResumingVirtualMachineStateStopping"
|
|
VZMachineStateStopped VZMachineState = "VirtualMachineStateStopped"
|
|
VZMachineStateRunning VZMachineState = "VirtualMachineStateRunning"
|
|
VZMachineStatePaused VZMachineState = "VirtualMachineStatePaused"
|
|
VZMachineStateError VZMachineState = "VirtualMachineStateError"
|
|
VZMachineStateStarting VZMachineState = "VirtualMachineStateStarting"
|
|
VZMachineStatePausing VZMachineState = "VirtualMachineStatePausing"
|
|
VZMachineStateResuming VZMachineState = "VirtualMachineStateResuming"
|
|
VZMachineStateStopping VZMachineState = "VirtualMachineStateStopping"
|
|
)
|
|
|
|
func ToMachineStatus(val string) (machine.Status, error) {
|
|
switch val {
|
|
case string(VZMachineStateRunning), string(VZMachineStatePausing), string(VZMachineStateResuming), string(VZMachineStateStopping), string(VZMachineStatePaused):
|
|
return machine.Running, nil
|
|
case string(VZMachineStateStopped):
|
|
return machine.Stopped, nil
|
|
case string(VZMachineStateStarting):
|
|
return machine.Starting, nil
|
|
case string(VZMachineStateError):
|
|
return "", errors.New("machine is in error state")
|
|
}
|
|
return "", fmt.Errorf("unknown machine state: %s", val)
|
|
}
|