code: def _get_subnet_id(
      self, zone: str, name: Optional[str] = None
  ) -> str:
      name = name or f"default-{zone}"
      subnets = self.api_client.vpc_subnets_list(
          folder_id=self.config.folder_id
      )
      for subnet in subnets:
          if subnet["name"] == name:
              return subnet["id"]
      n = len(subnets)
      resp = self.api_client.vpc_subnets_create(
          folder_id=self.config.folder_id,
          name=name,
          network_id=self.config.network_id,
          zone=zone,
          cird_blocks=[f"10.{n}.0.0/16"],
          labels=self._get_labels(),
      )
      return resp["response"]["id"]
  
imports: import json
  import re
  import time
  from typing import List, Optional
  import dstack.version
  from dstack._internal import settings
  from dstack._internal.core.backends.base import Compute
  from dstack._internal.core.backends.base.compute import get_instance_name, get_user_data
  from dstack._internal.core.backends.base.offers import get_catalog_offers
  from dstack._internal.core.backends.nebius.api_client import NebiusAPIClient
  from dstack._internal.core.backends.nebius.config import NebiusConfig
  from dstack._internal.core.backends.nebius.types import ForbiddenError, NotFoundError, ResourcesSpec
  from dstack._internal.core.errors import NoCapacityError
  from dstack._internal.core.models.backends.base import BackendType
  from dstack._internal.core.models.instances import InstanceAvailability, InstanceOfferWithAvailability, LaunchedInstanceInfo
  from dstack._internal.core.models.runs import Job, Requirements, Run
label_desc: Use image node_id 6 for calling the NebiusCompute obj's underlying member method code with example usage: obj._get_subnet_id(zone, name) and returns: resp, subnet