code: func (c *Conn) Reroute(dryRun bool, commands Commands) (ClusterHealthResponse, error) {
  	var url string
  	var retval ClusterHealthResponse
  
  	if len(commands.Commands) > 0 {
  		url = fmt.Sprintf("/_cluster/reroute%s&%s", dryRunOption(dryRun))
  	} else {
  		return retval, errors.New("Must pass at least one command")
  	}
  	m := map[string]interface{}{"commands": commands.Commands}
  	body, err := c.DoCommand("POST", url, m, nil)
  	if err != nil {
  		return retval, err
  	}
  	if err == nil {
  		// marshall into json
  		jsonErr := json.Unmarshal(body, &retval)
  		if jsonErr != nil {
  			return retval, jsonErr
  		}
  	}
  	return retval, err
  }
docs: // The cluster health API allows to get a very simple status on the health of the cluster.
  // see http://www.elasticsearch.org/guide/reference/api/admin-cluster-health.html
  // information returned. Defaults to cluster.)