github.com/thomasobenaus/nomad@v0.11.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) 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("MinQuorum = %v", config.MinQuorum))
    49  	c.Ui.Output(fmt.Sprintf("ServerStabilizationTime = %v", config.ServerStabilizationTime.String()))
    50  	c.Ui.Output(fmt.Sprintf("EnableRedundancyZones = %v", config.EnableRedundancyZones))
    51  	c.Ui.Output(fmt.Sprintf("DisableUpgradeMigration = %v", config.DisableUpgradeMigration))
    52  	c.Ui.Output(fmt.Sprintf("EnableCustomUpgrades = %v", config.EnableCustomUpgrades))
    53  
    54  	return 0
    55  }
    56  
    57  func (c *OperatorAutopilotGetCommand) Synopsis() string {
    58  	return "Display the current Autopilot configuration"
    59  }
    60  
    61  func (c *OperatorAutopilotGetCommand) Help() string {
    62  	helpText := `
    63  Usage: nomad operator autopilot get-config [options]
    64  
    65    Displays the current Autopilot configuration.
    66  
    67  General Options:
    68  
    69    ` + generalOptionsUsage()
    70  
    71  	return strings.TrimSpace(helpText)
    72  }