code: def save(self):
      self.config_filepath.parent.mkdir(parents=True, exist_ok=True)
      with self.config_filepath.open("w") as f:
          # hack to convert enums to strings, etc.
          yaml.dump(json.loads(self.config.json()), f)
  
imports: import json
  import os.path
  from pathlib import Path
  from typing import Optional
  import filelock
  import yaml
  from pydantic import ValidationError
  from rich import print
  from rich.prompt import Confirm
  from dstack._internal.cli.utils.common import colors, confirm_ask
  from dstack._internal.core.models.config import GlobalConfig, ProjectConfig, RepoConfig
  from dstack._internal.core.models.repos.base import RepoType
  from dstack._internal.utils.common import get_dstack_dir
  from dstack._internal.utils.path import PathLike
label_desc: Use image node_id 2 for calling the ConfigManager obj's underlying member method code with example usage: obj.save() without return types