code: def make_workspace(tmp_dir, dvc, make_cloud):
      def _make_workspace(name, typ="local"):
          from dvc.cachemgr import CacheManager
  
          cloud = make_cloud(typ)
  
          tmp_dir.add_remote(
              name=name, config=cloud.config, default=False
          )
          tmp_dir.add_remote(
              name=f"{name}-cache",
              url="remote://workspace/cache",
              default=False,
          )
  
          scheme = getattr(cloud, "scheme", "local")
          if scheme != "http":
              with dvc.config.edit() as conf:
                  conf["cache"][scheme] = f"{name}-cache"
  
              dvc.cache = CacheManager(dvc)
  
          return cloud
  
      return _make_workspace
  
imports: import os
  import pathlib
  import subprocess
  from typing import Dict, Tuple
  import pytest
  from .scripts import copy_script
label_desc: Use image node_id 17 for calling a global function with example usage: make_workspace(tmp_dir, dvc, make_cloud) and returns: _make_workspace, cloud