Files
podman/pkg/machine/applehv/rest_config.go
Brent Baude b4ffbcdfd8 Enabled arm64 arch for podman applehv provider
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>
2023-07-14 10:19:07 -05:00

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)
}