class_docstr: Hook for Google Cloud Vertex AI Endpoint Service APIs.
docstr: Uploads a Model artifact into Vertex AI.
  
  :param project_id: Required. The ID of the Google Cloud project that the service belongs to.
  :param region: Required. The ID of the Google Cloud region that the service belongs to.
  :param model:  Required. The Model to create.
  :param retry: Designation of what errors, if any, should be retried.
  :param timeout: The timeout for this request.
  :param metadata: Strings which should be sent along with the request as metadata.
docstr_tok: ["Uploads","a","Model","artifact","into","Vertex","AI",".",":","param","project_id",":","Required",".","The","ID","of","the","Google","Cloud","project","that","the","service","belongs","to",".",":","param","region",":","Required",".","The","ID","of","the","Google","Cloud","region","that","the","service","belongs","to",".",":","param","model",":","Required",".","The","Model","to","create",".",":","param","retry",":","Designation","of","what","errors",",","if","any",",","should","be","retried",".",":","param","timeout",":","The","timeout","for","this","request",".",":","param","metadata",":","Strings","which","should","be","sent","along","with","the","request","as","metadata","."]
code: def upload_model(
      self,
      project_id: str,
      region: str,
      model: Model | dict,
      retry: Retry | _MethodDefault = DEFAULT,
      timeout: float | None = None,
      metadata: Sequence[tuple[str, str]] = (),
  ) -> Operation:
      """
      Uploads a Model artifact into Vertex AI.
  
      :param project_id: Required. The ID of the Google Cloud project that the service belongs to.
      :param region: Required. The ID of the Google Cloud region that the service belongs to.
      :param model:  Required. The Model to create.
      :param retry: Designation of what errors, if any, should be retried.
      :param timeout: The timeout for this request.
      :param metadata: Strings which should be sent along with the request as metadata.
      """
      client = self.get_model_service_client(region)
      parent = client.common_location_path(project_id, region)
  
      result = client.upload_model(
          request={
              "parent": parent,
              "model": model,
          },
          retry=retry,
          timeout=timeout,
          metadata=metadata,
      )
      return result
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Sequence
  from google.api_core.client_options import ClientOptions
  from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault
  from google.cloud.aiplatform_v1 import ModelServiceClient
  from airflow.exceptions import AirflowException
  from airflow.providers.google.common.hooks.base_google import GoogleBaseHook
label_desc: Use image node_id 8 for calling the ModelServiceHook obj's underlying member method code with example usage: obj.upload_model(project_id, region, model, retry, timeout, metadata) and returns: result