code: def select_job_private(self, cloud, machine_type, storage_bytes):
      if self.jpim_config.cloud != cloud:
          return None
      return self.jpim_config.convert_requests_to_resources(
          machine_type, storage_bytes
      )
  
imports: import asyncio
  import logging
  from typing import Dict, Optional, Tuple
  from gear import Database
  from .cloud.azure.instance_config import AzureSlimInstanceConfig
  from .cloud.azure.resource_utils import azure_worker_properties_to_machine_type
  from .cloud.gcp.instance_config import GCPSlimInstanceConfig
  from .cloud.gcp.resource_utils import GCP_MACHINE_FAMILY, family_worker_type_cores_to_gcp_machine_type
  from .cloud.resource_utils import adjust_cores_for_memory_request, adjust_cores_for_packability, cores_mcpu_to_memory_bytes, local_ssd_size, machine_type_to_worker_type_cores, requested_storage_bytes_to_actual_storage_gib, valid_machine_types
  from .cloud.utils import possible_cloud_locations
  from .driver.billing_manager import ProductVersionInfo, ProductVersions
  from .instance_config import InstanceConfig
label_desc: Use image node_id 4 for calling the InstanceCollectionConfigs obj's underlying member method code with example usage: obj.select_job_private(cloud, machine_type, storage_bytes) and returns: self, None