code: public SheetPublish updatePublishStatus(long id, SheetPublish publish) throws SmartsheetException{
          return this.updateResource("sheets/" + id + "/publish", SheetPublish.class, publish);
      }
docs: Sets the publish status of a sheet and returns the new status, including the URLs of any enabled publishings.
  
  It mirrors to the following Smartsheet REST API method: PUT /sheet/{sheetId}/publish
  
  Exceptions:
  - IllegalArgumentException : if any argument is null
  - InvalidRequestException : if there is any problem with the REST API request
  - AuthorizationException : if there is any problem with the REST API authorization(access token)
  - ResourceNotFoundException : if the resource can not be found
  - ServiceUnavailableException : if the REST API service is not available (possibly due to rate limiting)
  - SmartsheetRestException : if there is any other REST API related error occurred during the operation
  - SmartsheetException : if there is any other error occurred during the operation
  
  @param id the id
  @param publish the SheetPublish object limited to the following attributes *
  readOnlyLiteEnabled * readOnlyFullEnabled * readWriteEnabled * icalEnabled
  @return the updated SheetPublish (note that if there is no such resource, this method will throw
  ResourceNotFoundException rather than returning null).
  @throws SmartsheetException the smartsheet exception