code: def seed_workspace(ws: bindings.v1Workspace) -> None:
      """set up each workspace with project, exp, and one of each ntsc"""
      admin_session = api_utils.determined_test_session(admin=True)
      pid = bindings.post_PostProject(
          admin_session,
          body=bindings.v1PostProjectRequest(
              name="test", workspaceId=ws.id
          ),
          workspaceId=ws.id,
      ).project.id
  
      with logged_in_user(conf.ADMIN_CREDENTIALS):
          print("creating experiment")
          experiment_id = exp.create_experiment(
              conf.fixtures_path(
                  "no_op/single-very-many-long-steps.yaml"
              ),
              conf.fixtures_path("no_op"),
              ["--project_id", str(pid)],
          )
          print(f"created experiment {experiment_id}")
      for kind in conf.ALL_NTSC:
          print(f"creating {kind}")
          ntsc = api_utils.launch_ntsc(
              admin_session,
              workspace_id=ws.id,
              typ=kind,
              exp_id=experiment_id,
          )
          print(f"created {kind} {ntsc.id}")
  
file_path: determined/e2e_tests/tests/job/test_rbac.py
imports: from typing import Dict
  import pytest
  import tests.config
  from determined.common import api
  from determined.common.api import NTSC_Kind, bindings, errors
  from tests import api_utils
  from tests import experiment
  from tests.cluster import test_rbac
  from tests.cluster.test_rbac import create_users_with_gloabl_roles, create_workspaces_with_users, rbac_disabled
  from tests.cluster.test_users import det_run, logged_in_user
label_desc: Use image node_id 1 for calling a global function with example usage: seed_workspace(ws) without return types