code: def instance_config(
      self,
      machine_type: str,
      preemptible: bool,
      local_ssd_data_disk: bool,
      data_disk_size_gb: int,
      boot_disk_size_gb: int,
      job_private: bool,
      location: str,
  ) -> GCPSlimInstanceConfig:
      return GCPSlimInstanceConfig.create(
          self.billing_manager.product_versions,
          machine_type,
          preemptible,
          local_ssd_data_disk,
          data_disk_size_gb,
          boot_disk_size_gb,
          job_private,
          location,
      )
  
imports: import logging
  import uuid
  from typing import List, Tuple
  import aiohttp
  from hailtop.aiocloud import aiogoogle
  from hailtop.utils.time import parse_timestamp_msecs
  from ....driver.instance import Instance
  from ....driver.resource_manager import CloudResourceManager, UnknownVMState, VMDoesNotExist, VMState, VMStateCreating, VMStateRunning, VMStateTerminated
  from ....file_store import FileStore
  from ....instance_config import InstanceConfig, QuantifiedResource
  from ..instance_config import GCPSlimInstanceConfig
  from ..resource_utils import GCP_MACHINE_FAMILY, family_worker_type_cores_to_gcp_machine_type, gcp_machine_type_to_worker_type_and_cores, gcp_worker_memory_per_core_mib
  from .billing_manager import GCPBillingManager
  from .create_instance import create_vm_config
label_desc: Use image node_id 4 for calling the GCPResourceManager obj's underlying member method code with example usage: obj.instance_config(machine_type, preemptible, local_ssd_data_disk, data_disk_size_gb, boot_disk_size_gb, job_private, location) and returns: GCPSlimInstanceConfig