code: def only_tensorboard_can_launch(
      session: api.Session,
      workspace: int,
      typ: api.NTSC_Kind,
      exp_id: Optional[int] = None,
  ) -> None:
      """
      Tensorboard requires the 'view experiment' permission rather than the 'create NSC' permission
      and so can be launched in some workspaces other NSCs can't.
      """
      if typ == api.NTSC_Kind.tensorboard:
          api_utils.launch_ntsc(session, workspace, typ, exp_id)
          return
  
      with pytest.raises(errors.ForbiddenException):
          api_utils.launch_ntsc(session, workspace, typ, exp_id)
  
file_path: determined/e2e_tests/tests/cluster/test_rbac_ntsc.py
imports: import contextlib
  from typing import Generator, List, Optional, Sequence
  import pytest
  import tests.config
  from determined.common import api
  from determined.common.api import authentication, bindings, errors
  from tests import api_utils
  from tests import experiment
  from tests.cluster.test_rbac import create_workspaces_with_users, rbac_disabled
  from tests.cluster.test_workspace_org import setup_workspaces
  from .test_groups import det_cmd_json
  from .test_users import logged_in_user
label_desc: Use image node_id 4 for calling a global function with example usage: only_tensorboard_can_launch(session, workspace, typ, exp_id) without return types