/// <summary> /// <para> /// Sets the publish status of a report and returns the new status, including the URLs of any enabled publishing. /// </para> /// /// <para>It mirrors to the following Smartsheet REST API method: PUT /reports/{id}/publish</para> /// </summary> /// <param name="reportId"> the reportId </param> /// <param name="reportPublish"> the ReportPublish object</param> /// <returns> /// The report publish status (note that if there is no such resource, this method will /// throw ResourceNotFoundException rather than returning null). /// </returns> /// <exception cref="System.InvalidOperationException"> if any argument is null or empty string </exception> /// <exception cref="InvalidRequestException"> if there is any problem with the REST API request </exception> /// <exception cref="AuthorizationException"> if there is any problem with the REST API authorization (access token) </exception> /// <exception cref="ResourceNotFoundException"> if the resource cannot be found </exception> /// <exception cref="ServiceUnavailableException"> if the REST API service is not available (possibly due To rate limiting) </exception> /// <exception cref="SmartsheetException"> if there is any other error during the operation </exception> public ReportPublish UpdatePublishStatus(long reportId, ReportPublish reportPublish) { return this.UpdateResource<ReportPublish>("reports/" + reportId + "/publish", typeof(ReportPublish), reportPublish); }