code: def create(
      self,
      project_name: str,
      gateway_name: Optional[str],
      backend_type: BackendType,
      region: str,
  ) -> Gateway:
      body = CreateGatewayRequest(
          name=gateway_name, backend_type=backend_type, region=region
      )
      resp = self._request(
          f"/api/project/{project_name}/gateways/create",
          body=body.json(),
      )
      return parse_obj_as(Gateway, resp.json())
  
file_path: dstack/src/dstack/api/server/_gateways.py
imports: from typing import List, Optional
  from pydantic import parse_obj_as
  from dstack._internal.core.models.backends.base import BackendType
  from dstack._internal.core.models.gateways import Gateway
  from dstack._internal.server.schemas.gateways import CreateGatewayRequest, DeleteGatewaysRequest, GetGatewayRequest, SetDefaultGatewayRequest, SetWildcardDomainRequest
  from dstack.api.server._group import APIClientGroup
label_desc: Use image node_id 3 for calling the GatewaysAPIClient obj's underlying member method code with example usage: obj.create(project_name, gateway_name, backend_type, region) and returns: parse_obj_as