code: func (c *Client) GetClusterStatus() (map[string]*clientv3.StatusResponse, error) {
  	cli, err := clientv3.New(clientv3.Config{
  		Endpoints:   c.Endpoints,
  		DialTimeout: 5 * time.Second,
  		TLS:         c.TLS,
  	})
  	if err != nil {
  		return nil, err
  	}
  	defer cli.Close()
  
  	clusterStatus := make(map[string]*clientv3.StatusResponse)
  	for _, ep := range c.Endpoints {
  		ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
  		resp, err := cli.Status(ctx, ep)
  		cancel()
  		if err != nil {
  			return nil, err
  		}
  		clusterStatus[ep] = resp
  	}
  	return clusterStatus, nil
  }
docs: // GetClusterStatus returns nil for status Up or error for status Down