forked from liamjbennett/sous
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sous_plumbing_status.go
44 lines (33 loc) · 1.15 KB
/
sous_plumbing_status.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
39
40
41
42
43
44
package cli
import (
"flag"
"github.com/opentable/sous/config"
"github.com/opentable/sous/lib"
"github.com/opentable/sous/util/cmdr"
)
// SousPlumbingStatus is the `sous plumbing status` object.
type SousPlumbingStatus struct {
DeployFilterFlags config.DeployFilterFlags
StatusPoller *sous.StatusPoller
}
func init() { PlumbingSubcommands["status"] = &SousPlumbingStatus{} }
// Help implements Command on SousPlumbingStatus.
func (*SousPlumbingStatus) Help() string {
return `reports the status of a given deployment`
}
// AddFlags implements cmdr.AddFlags on SousPlumbingStatus.
func (sps *SousPlumbingStatus) AddFlags(fs *flag.FlagSet) {
MustAddFlags(fs, &sps.DeployFilterFlags, DeployFilterFlagsHelp)
}
// RegisterOn implements Registrant on SousPlumbingStatus.
func (sps *SousPlumbingStatus) RegisterOn(psy Addable) {
psy.Add(&sps.DeployFilterFlags)
}
// Execute implements cmdr.Executor on SousPlumbingStatus.
func (sps *SousPlumbingStatus) Execute(args []string) cmdr.Result {
if sps.StatusPoller == nil {
return cmdr.UsageErrorf("Please configure a server using 'sous config Server <url>'")
}
sps.StatusPoller.Start()
return cmdr.Success()
}