github.com/anuvu/nomad@v0.8.7-atom1/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) Name() string { return "operator autopilot get-config" } 23 func (c *OperatorAutopilotGetCommand) Run(args []string) int { 24 flags := c.Meta.FlagSet("autopilot", FlagSetClient) 25 flags.Usage = func() { c.Ui.Output(c.Help()) } 26 27 if err := flags.Parse(args); err != nil { 28 c.Ui.Error(fmt.Sprintf("Failed to parse args: %v", err)) 29 return 1 30 } 31 32 // Set up a client. 33 client, err := c.Meta.Client() 34 if err != nil { 35 c.Ui.Error(fmt.Sprintf("Error initializing client: %s", err)) 36 return 1 37 } 38 39 // Fetch the current configuration. 40 config, _, err := client.Operator().AutopilotGetConfiguration(nil) 41 if err != nil { 42 c.Ui.Error(fmt.Sprintf("Error querying Autopilot configuration: %s", err)) 43 return 1 44 } 45 c.Ui.Output(fmt.Sprintf("CleanupDeadServers = %v", config.CleanupDeadServers)) 46 c.Ui.Output(fmt.Sprintf("LastContactThreshold = %v", config.LastContactThreshold.String())) 47 c.Ui.Output(fmt.Sprintf("MaxTrailingLogs = %v", config.MaxTrailingLogs)) 48 c.Ui.Output(fmt.Sprintf("ServerStabilizationTime = %v", config.ServerStabilizationTime.String())) 49 c.Ui.Output(fmt.Sprintf("EnableRedundancyZones = %v", config.EnableRedundancyZones)) 50 c.Ui.Output(fmt.Sprintf("DisableUpgradeMigration = %v", config.DisableUpgradeMigration)) 51 c.Ui.Output(fmt.Sprintf("EnableCustomUpgrades = %v", config.EnableCustomUpgrades)) 52 53 return 0 54 } 55 56 func (c *OperatorAutopilotGetCommand) Synopsis() string { 57 return "Display the current Autopilot configuration" 58 } 59 60 func (c *OperatorAutopilotGetCommand) Help() string { 61 helpText := ` 62 Usage: nomad operator autopilot get-config [options] 63 64 Displays the current Autopilot configuration. 65 66 General Options: 67 68 ` + generalOptionsUsage() 69 70 return strings.TrimSpace(helpText) 71 }