code: def update_logtail_config(self, project_name, config_detail):
          
  
          headers = {}
          params = {}
          resource = "/configs/" + config_detail.config_name
          headers['Content-Type'] = 'application/json'
          body = six.b(json.dumps(config_detail.to_json()))
          headers['x-log-bodyrawsize'] = str(len(body))
          (resp, headers) = self._send("PUT", project_name, body, resource, params, headers)
          return UpdateLogtailConfigResponse(headers, resp)
docs: update logtail config in a project
          Unsuccessful opertaion will cause an LogException.
  
          :type project_name: string
          :param project_name: the Project name 
  
          :type config_detail: LogtailConfigGenerator or SeperatorFileConfigDetail or SimpleFileConfigDetail or FullRegFileConfigDetail or JsonFileConfigDetail or ApsaraFileConfigDetail or SyslogConfigDetail or CommonRegLogConfigDetail
          :param config_detail: the logtail config detail info, use `LogtailConfigGenerator.from_json` to generate config: SeperatorFileConfigDetail or SimpleFileConfigDetail or FullRegFileConfigDetail or JsonFileConfigDetail or ApsaraFileConfigDetail or SyslogConfigDetail
  
          :return: UpdateLogtailConfigResponse
          
          :raise: LogException