class KPM::DiagnosticFile

def export_data(account_id = nil, log_dir = nil)

def export_data(account_id = nil, log_dir = nil)
  set_config(@config_file)
  tenant_export_file  = get_tenant_config
  system_export_file  = get_system_config
  account_export_file = get_account_data(account_id) unless account_id.nil?
  log_files           = get_log_files(log_dir)
  if File.exist?(system_export_file) && File.exist?(tenant_export_file)
    zip_file_name = TMP_DIR + File::Separator + ZIP_FILE
    Zip::File.open(zip_file_name, Zip::File::CREATE) do |zipFile|
      zipFile.add(TENANT_FILE,  tenant_export_file)
      zipFile.add(SYSTEM_FILE,  system_export_file)
      zipFile.add(ACCOUNT_FILE, account_export_file) unless account_id.nil?
      zipFile.add(ZIP_LOG_FILE, log_files) unless log_files.nil?
    end
    @logger.info "\e[32mDiagnostic data exported under #{zip_file_name} \e[0m"
  else
    raise Interrupt, 'Account id or configuration file not found'
  end
end