terraform/command/version.go

42 lines
771 B
Go
Raw Normal View History

2014-05-24 21:04:43 +02:00
package command
import (
"bytes"
"fmt"
)
// VersionCommand is a Command implementation prints the version.
type VersionCommand struct {
2014-07-13 19:42:18 +02:00
Meta
2014-05-24 21:04:43 +02:00
Revision string
Version string
VersionPrerelease string
}
func (c *VersionCommand) Help() string {
return ""
}
2014-07-13 19:42:18 +02:00
func (c *VersionCommand) Run(args []string) int {
2014-05-24 21:04:43 +02:00
var versionString bytes.Buffer
2014-07-13 19:42:18 +02:00
args = c.Meta.process(args, false)
2014-07-13 19:42:18 +02:00
2014-05-24 21:04:43 +02:00
fmt.Fprintf(&versionString, "Terraform v%s", c.Version)
if c.VersionPrerelease != "" {
fmt.Fprintf(&versionString, ".%s", c.VersionPrerelease)
if c.Revision != "" {
fmt.Fprintf(&versionString, " (%s)", c.Revision)
}
}
c.Ui.Output(versionString.String())
return 0
}
func (c *VersionCommand) Synopsis() string {
return "Prints the Terraform version"
}