code: func (client *Client) UpdateBuildpack(buildpack Buildpack) (Buildpack, Warnings, error) {
  	body, err := json.Marshal(buildpack)
  	if err != nil {
  		return Buildpack{}, nil, err
  	}
  
  	request, err := client.newHTTPRequest(requestOptions{
  		RequestName: internal.PutBuildpackRequest,
  		URIParams:   Params{"buildpack_guid": buildpack.GUID},
  		Body:        bytes.NewReader(body),
  	})
  	if err != nil {
  		return Buildpack{}, nil, err
  	}
  
  	var updatedBuildpack Buildpack
  	response := cloudcontroller.Response{
  		DecodeJSONResponseInto: &updatedBuildpack,
  	}
  
  	err = client.connection.Make(request, &response)
  	if err != nil {
  		return Buildpack{}, response.Warnings, err
  	}
  
  	return updatedBuildpack, response.Warnings, nil
  }
docs: // UpdateBuildpack updates the buildpack with the provided GUID and returns the
  // updated buildpack. Note: Stack cannot be updated without uploading a new
  // buildpack.