code: def get_config_values(
      self, config: NebiusConfigInfoWithCredsPartial
  ) -> NebiusConfigValues:
      config_values = NebiusConfigValues()
      if config.creds is None:
          return config_values
      self._validate_nebius_creds(config.creds)
      # TODO(egor-s) cloud_id
      # TODO(egor-s) folder_id
      # TODO(egor-s) network_id
      config_values.regions = self._get_regions_element(
          selected=config.regions or []
      )
      return config_values
  
imports: import json
  from typing import List
  import requests
  import dstack._internal.core.backends.nebius.api_client
  from dstack._internal.core.backends.base import Backend
  from dstack._internal.core.backends.nebius import NebiusBackend
  from dstack._internal.core.backends.nebius.config import NebiusConfig
  from dstack._internal.core.models.backends.base import BackendType, ConfigElementValue, ConfigMultiElement
  from dstack._internal.core.models.backends.nebius import NebiusConfigInfo, NebiusConfigInfoWithCreds, NebiusConfigInfoWithCredsPartial, NebiusConfigValues, NebiusCreds, NebiusStoredConfig
  from dstack._internal.server.models import BackendModel, ProjectModel
  from dstack._internal.server.services.backends import Configurator
  from dstack._internal.server.services.backends.configurators.base import raise_invalid_credentials_error
label_desc: Use image node_id 2 for calling the NebiusConfigurator obj's underlying member method code with example usage: obj.get_config_values(config) and returns: config_values, config_values