code: def listfiles(data_name):
      data_source = get_data_object(data_name, use_data_config=False)
      if not data_source:
          if 'output' in data_name:
              floyd_logger.info("Note: You cannot clone the output of a running job. You need to wait for it to finish.")
          sys.exit()
      dirs = ['']
      paths = []
      while dirs:
          cur_dir = dirs.pop()
          url = "/resources/{}/{}?content=true".format(data_source.resource_id, cur_dir)
          response = DataClient().request("GET", url).json()
          if response['skipped_files'] > 0:
              floyd_logger.info("Warning: in directory '%s', %s/%s files skipped (too many files)", cur_dir, response['skipped_files'], response['total_files'])
          files = response['files']
          files.sort(key=lambda f: f['name'])
          for f in files:
              path = os.path.join(cur_dir, f['name'])
              if f['type'] == 'directory':
                  path += os.sep
              paths.append(path)
              if f['type'] == 'directory':
                  dirs.append(os.path.join(cur_dir, f['name']))
      for path in paths:
          floyd_logger.info(path)