github.com/djenriquez/nomad-1@v0.8.1/command/operator_autopilot_get.go (about) 1 package command 2 3 import ( 4 "fmt" 5 "strings" 6 7 "github.com/posener/complete" 8 ) 9 10 type OperatorAutopilotGetCommand struct { 11 Meta 12 } 13 14 func (c *OperatorAutopilotGetCommand) AutocompleteFlags() complete.Flags { 15 return mergeAutocompleteFlags(c.Meta.AutocompleteFlags(FlagSetClient)) 16 } 17 18 func (c *OperatorAutopilotGetCommand) AutocompleteArgs() complete.Predictor { 19 return complete.PredictNothing 20 } 21 22 func (c *OperatorAutopilotGetCommand) Run(args []string) int { 23 flags := c.Meta.FlagSet("autopilot", FlagSetClient) 24 flags.Usage = func() { c.Ui.Output(c.Help()) } 25 26 if err := flags.Parse(args); err != nil { 27 c.Ui.Error(fmt.Sprintf("Failed to parse args: %v", err)) 28 return 1 29 } 30 31 // Set up a client. 32 client, err := c.Meta.Client() 33 if err != nil { 34 c.Ui.Error(fmt.Sprintf("Error initializing client: %s", err)) 35 return 1 36 } 37 38 // Fetch the current configuration. 39 config, _, err := client.Operator().AutopilotGetConfiguration(nil) 40 if err != nil { 41 c.Ui.Error(fmt.Sprintf("Error querying Autopilot configuration: %s", err)) 42 return 1 43 } 44 c.Ui.Output(fmt.Sprintf("CleanupDeadServers = %v", config.CleanupDeadServers)) 45 c.Ui.Output(fmt.Sprintf("LastContactThreshold = %v", config.LastContactThreshold.String())) 46 c.Ui.Output(fmt.Sprintf("MaxTrailingLogs = %v", config.MaxTrailingLogs)) 47 c.Ui.Output(fmt.Sprintf("ServerStabilizationTime = %v", config.ServerStabilizationTime.String())) 48 c.Ui.Output(fmt.Sprintf("EnableRedundancyZones = %v", config.EnableRedundancyZones)) 49 c.Ui.Output(fmt.Sprintf("DisableUpgradeMigration = %v", config.DisableUpgradeMigration)) 50 c.Ui.Output(fmt.Sprintf("EnableCustomUpgrades = %v", config.EnableCustomUpgrades)) 51 52 return 0 53 } 54 55 func (c *OperatorAutopilotGetCommand) Synopsis() string { 56 return "Display the current Autopilot configuration" 57 } 58 59 func (c *OperatorAutopilotGetCommand) Help() string { 60 helpText := ` 61 Usage: nomad operator autopilot get-config [options] 62 63 Displays the current Autopilot configuration. 64 65 General Options: 66 67 ` + generalOptionsUsage() 68 69 return strings.TrimSpace(helpText) 70 }