forked from bmatcuk/go-vagrant
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommand_version.go
38 lines (33 loc) · 1012 Bytes
/
command_version.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
32
33
34
35
36
37
38
package vagrant
// VersionCommand specifies options and output from vagrant version
type VersionCommand struct {
BaseCommand
VersionResponse
}
// Version returns the current and latest version of vagrant. After setting
// options as appropriate, you must call Run() or Start() followed by Wait()
// to execute. Output will be in InstalledVersion and LatestVersion and any
// error will be in Error.
func (client *VagrantClient) Version() *VersionCommand {
return &VersionCommand{
BaseCommand: newBaseCommand(client),
VersionResponse: newVersionResponse(),
}
}
func (cmd *VersionCommand) init() error {
return cmd.BaseCommand.init(&cmd.VersionResponse, "version")
}
// Run the command
func (cmd *VersionCommand) Run() error {
if err := cmd.Start(); err != nil {
return err
}
return cmd.Wait()
}
// Start the command. You must call Wait() to complete execution.
func (cmd *VersionCommand) Start() error {
if err := cmd.init(); err != nil {
return err
}
return cmd.BaseCommand.Start()
}