forked from terra-farm/go-virtualbox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
interface.go
31 lines (23 loc) · 968 Bytes
/
interface.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package virtualbox
import "context"
// Virtualbox interface defines all the actions which can be performed by the
// Manager. This is mostly a utility interface designed for the customers of the
// package.
type Virtualbox interface {
MachineManager
}
// MachineManager defines the actions that can be performed to manage machines
type MachineManager interface {
// Machine gets a machine name based on its name or UUID
Machine(context.Context, string) (*Machine, error)
// ListMachines returns a list of all machines
ListMachines(context.Context) ([]*Machine, error)
// ModifyMachine allows to update the machine.
ModifyMachine(context.Context, *Machine) error
// CreateMachine based on the provided information
CreateMachine(context.Context, *Machine) error
// Start the machine with the given name
StartMachine(context.Context, string) error
// DeleteMachine deletes a machine by its name or UUID
DeleteMachine(context.Context, string) error
}