code: public AutomationRule updateAutomationRule(long sheetId, AutomationRule automationRule) throws SmartsheetException {
          Util.throwIfNull(automationRule);
          return this.updateResource("sheets/" + sheetId + "/automationrules/" + automationRule.getId(),
                  AutomationRule.class, automationRule);
      }
docs: Updates an automation rule.
  
  It mirrors to the following Smartsheet REST API method: PUT /sheets/{sheetId}/automationrules/{automationRuleId}
  
  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 sheetId the sheetId
  @param automationRule the automation rule to update
  @return the updated automation rule (note that if there is no such resource, this method will throw
  ResourceNotFoundException rather than returning null).
  @throws SmartsheetException the smartsheet exception