code: def launch_ntsc(
      session: api.Session,
      workspace_id: int,
      typ: api.NTSC_Kind,
      exp_id: Optional[int] = None,
      template: Optional[str] = None,
  ) -> api.AnyNTSC:
      if typ == api.NTSC_Kind.notebook:
          return bindings.post_LaunchNotebook(
              session,
              body=bindings.v1LaunchNotebookRequest(
                  workspaceId=workspace_id, templateName=template
              ),
          ).notebook
      elif typ == api.NTSC_Kind.tensorboard:
          experiment_ids = [exp_id] if exp_id else []
          return bindings.post_LaunchTensorboard(
              session,
              body=bindings.v1LaunchTensorboardRequest(
                  workspaceId=workspace_id,
                  experimentIds=experiment_ids,
                  templateName=template,
              ),
          ).tensorboard
      elif typ == api.NTSC_Kind.shell:
          return bindings.post_LaunchShell(
              session,
              body=bindings.v1LaunchShellRequest(
                  workspaceId=workspace_id, templateName=template
              ),
          ).shell
      elif typ == api.NTSC_Kind.command:
          return bindings.post_LaunchCommand(
              session,
              body=bindings.v1LaunchCommandRequest(
                  workspaceId=workspace_id,
                  config={
                      "entrypoint": ["sleep", "100"],
                  },
                  templateName=template,
              ),
          ).command
      else:
          raise ValueError("unknown type")
  
imports: import uuid
  from typing import Callable, Optional, Sequence, TypeVar
  import pytest
  from determined.common import api
  from determined.common.api import authentication, bindings, certs, errors
  from tests import config
label_desc: Use image node_id 7 for calling a global function with example usage: launch_ntsc(session, workspace_id, typ, exp_id, template) and returns: bindings, bindings, bindings, bindings