code: def get_config_values(
      self, config: VastAIConfigInfoWithCredsPartial
  ) -> VastAIConfigValues:
      config_values = VastAIConfigValues()
      if config.creds is None:
          return config_values
      self._validate_vastai_creds(config.creds.api_key)
      config_values.regions = self._get_regions_element(
          selected=config.regions or []
      )
      return config_values
  
file_path: dstack/src/dstack/_internal/server/services/backends/configurators/vastai.py
imports: import json
  from typing import List
  from dstack._internal.core.backends.vastai import VastAIBackend, api_client
  from dstack._internal.core.backends.vastai.config import VastAIConfig
  from dstack._internal.core.models.backends.base import BackendType, ConfigElementValue, ConfigMultiElement
  from dstack._internal.core.models.backends.vastai import AnyVastAIConfigInfo, VastAIConfigInfo, VastAIConfigInfoWithCreds, VastAIConfigInfoWithCredsPartial, VastAIConfigValues, VastAICreds, VastAIStoredConfig
  from dstack._internal.server.models import BackendModel, ProjectModel
  from dstack._internal.server.services.backends.configurators.base import Configurator, raise_invalid_credentials_error
label_desc: Use image node_id 2 for calling the VastAIConfigurator obj's underlying member method code with example usage: obj.get_config_values(config) and returns: config_values, config_values