github.com/kardianos/nomad@v0.1.3-0.20151022182107-b13df73ee850/api/status.go (about)

     1  package api
     2  
     3  // Status is used to query the status-related endpoints.
     4  type Status struct {
     5  	client *Client
     6  }
     7  
     8  // Status returns a handle on the status endpoints.
     9  func (c *Client) Status() *Status {
    10  	return &Status{client: c}
    11  }
    12  
    13  // Leader is used to query for the current cluster leader.
    14  func (s *Status) Leader() (string, error) {
    15  	var resp string
    16  	_, err := s.client.query("/v1/status/leader", &resp, nil)
    17  	if err != nil {
    18  		return "", err
    19  	}
    20  	return resp, nil
    21  }
    22  
    23  // Peers is used to query the addresses of the server peers
    24  // in the cluster.
    25  func (s *Status) Peers() ([]string, error) {
    26  	var resp []string
    27  	_, err := s.client.query("/v1/status/peers", &resp, nil)
    28  	if err != nil {
    29  		return nil, err
    30  	}
    31  	return resp, nil
    32  }