code: def get_config_values(
      self, config: DataCrunchConfigInfoWithCredsPartial
  ) -> DataCrunchConfigValues:
      config_values = DataCrunchConfigValues()
      if config.creds is None:
          return config_values
      config_values.regions = self._get_regions_element(
          selected=config.regions or [DEFAULT_REGION]
      )
      return config_values
  
file_path: dstack/src/dstack/_internal/server/services/backends/configurators/datacrunch.py
imports: import json
  from typing import List
  from dstack._internal.core.backends.datacrunch import DataCrunchBackend
  from dstack._internal.core.backends.datacrunch.config import DataCrunchConfig
  from dstack._internal.core.models.backends.base import BackendType, ConfigElementValue, ConfigMultiElement
  from dstack._internal.core.models.backends.datacrunch import AnyDataCrunchConfigInfo, DataCrunchConfigInfo, DataCrunchConfigInfoWithCreds, DataCrunchConfigInfoWithCredsPartial, DataCrunchConfigValues, DataCrunchCreds, DataCrunchStoredConfig
  from dstack._internal.server.models import BackendModel, ProjectModel
  from dstack._internal.server.services.backends.configurators.base import Configurator
label_desc: Use image node_id 2 for calling the DataCrunchConfigurator obj's underlying member method code with example usage: obj.get_config_values(config) and returns: config_values, config_values