command/remote
This commit is contained in:
parent
01cd761023
commit
89e7438f0f
|
@ -0,0 +1,57 @@
|
||||||
|
package command
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
type RemoteCommand struct {
|
||||||
|
Meta
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *RemoteCommand) Run(argsRaw []string) int {
|
||||||
|
// Duplicate the args so we can munge them without affecting
|
||||||
|
// future subcommand invocations which will do the same.
|
||||||
|
args := make([]string, len(argsRaw))
|
||||||
|
copy(args, argsRaw)
|
||||||
|
args = c.Meta.process(args, false)
|
||||||
|
|
||||||
|
if len(args) == 0 {
|
||||||
|
c.Ui.Error(c.Help())
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
switch args[0] {
|
||||||
|
case "config":
|
||||||
|
cmd := &RemoteConfigCommand{Meta: c.Meta}
|
||||||
|
return cmd.Run(args[1:])
|
||||||
|
case "pull":
|
||||||
|
cmd := &RemotePullCommand{Meta: c.Meta}
|
||||||
|
return cmd.Run(args[1:])
|
||||||
|
case "push":
|
||||||
|
cmd := &RemotePushCommand{Meta: c.Meta}
|
||||||
|
return cmd.Run(args[1:])
|
||||||
|
default:
|
||||||
|
c.Ui.Error(c.Help())
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *RemoteCommand) Help() string {
|
||||||
|
helpText := `
|
||||||
|
Usage: terraform remote <subcommand> [options]
|
||||||
|
|
||||||
|
Configure remote state storage with Terraform.
|
||||||
|
|
||||||
|
Available subcommands:
|
||||||
|
|
||||||
|
config Configure the remote storage settings.
|
||||||
|
pull Sync the remote storage by downloading to local storage.
|
||||||
|
push Sync the remote storage by uploading the local storage.
|
||||||
|
|
||||||
|
`
|
||||||
|
return strings.TrimSpace(helpText)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *RemoteCommand) Synopsis() string {
|
||||||
|
return "Configure remote state storage"
|
||||||
|
}
|
Loading…
Reference in New Issue