code: func (a *Agent) UpdateTTL(checkID, output, status string) error {
  	switch status {
  	case "pass", HealthPassing:
  		status = HealthPassing
  	case "warn", HealthWarning:
  		status = HealthWarning
  	case "fail", HealthCritical:
  		status = HealthCritical
  	default:
  		return fmt.Errorf("Invalid status: %s", status)
  	}
  
  	endpoint := fmt.Sprintf("/v1/agent/check/update/%s", checkID)
  	r := a.c.newRequest("PUT", endpoint)
  	r.obj = &checkUpdate{
  		Status: status,
  		Output: output,
  	}
  
  	_, resp, err := requireOK(a.c.doRequest(r))
  	if err != nil {
  		return err
  	}
  	resp.Body.Close()
  	return nil
  }
docs: // UpdateTTL is used to update the TTL of a check. This uses the newer API
  // that was introduced in Consul 0.6.4 and later. We translate the old status
  // strings for compatibility (though a newer version of Consul will still be
  // required to use this API).