def METHOD_NAME(self, tar_type, tar_enum, num_shards, num_files):
    shard_names = []
    out_dir = Path(self.temp_dir).joinpath(tar_type)
    out_dir.mkdir(exist_ok=True)
    for shard_index in range(num_shards):
        name = f"{tar_type}-{shard_index}.tar"
        filename = out_dir.joinpath(name)
        self._generate_tar(filename, shard_index, tar_enum, num_files)
        shard_names.append(name)
    self._upload_dir(out_dir, tar_type)
    return shard_names