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  }