code: def _build_underlying_workflows(enabled_regions, json_spec, args):
      
      projects_by_region = _create_temporary_projects(enabled_regions, args)
      workflows_by_region = {}
  
      try:
          for region, project in projects_by_region.items():
              json_spec['project'] = project
              workflow_id = _build_regular_workflow(json_spec)
              logger.debug("Created workflow " + workflow_id + " successfully")
              workflows_by_region[region] = workflow_id
      except:
          # Clean up
          if projects_by_region:
              dxpy.executable_builder.delete_temporary_projects(projects_by_region.values())
          raise
  
      return workflows_by_region, projects_by_region
docs: Creates a workflow in a temporary project for each enabled region.
      Returns a tuple of dictionaries: workflow IDs by region and project IDs by region.
      The caller is responsible for destroying the projects if this method returns properly.