class_docstr: A class representing a Workspace object.
  
  Attributes:
      id: (int) The ID of the workspace.
      name: (Mutable, str) The name of the workspace.
docstr: Lists all projects that are a part of this workspace.
docstr_tok: ["Lists","all","projects","that","are","a","part","of","this","workspace","."]
code: def list_projects(self) -> List[project.Project]:
      """Lists all projects that are a part of this workspace."""
  
      def get_with_offset(
          offset: int,
      ) -> bindings.v1GetWorkspaceProjectsResponse:
          return bindings.get_GetWorkspaceProjects(
              session=self._session,
              offset=offset,
              id=self.id,
          )
  
      bindings_projects: Iterable[
          bindings.v1Project
      ] = itertools.chain.from_iterable(
          r.projects for r in api.read_paginated(get_with_offset)
      )
  
      return [
          project.Project._from_bindings(p, self._session)
          for p in bindings_projects
      ]
  
file_path: determined/harness/determined/common/experimental/workspace.py
imports: import itertools
  from typing import Iterable, List, Optional
  from determined.common import api
  from determined.common.api import bindings, errors
  from determined.common.experimental import project, resource_pool
label_desc: Use image node_id 9 for calling the Workspace obj's underlying member method code with example usage: obj.list_projects() and returns: unknown, bindings