class_docstr: Abstract class interacting with CAIP CMLE job or Vertex CustomJob.
class_docstr_tok: ["Abstract","class","interacting","with","CAIP","CMLE","job","or","Vertex","CustomJob","."]
docstr: Launches a long-running job.
  
  Args:
    project: The project name in the form of 'projects/{project_id}'
    training_job: A Cloud training job. For CAIP, See
      https://cloud.google.com/ml-engine/reference/rest/v1/projects.jobs for
        the detailed schema. for Vertex AI Training, see
      https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.customJobs#CustomJob
        the detailed schema.
docstr_tok: ["Launches","a","long-running","job",".","Args",":","project",":","The","project","name","in","the","form","of","'projects\/","{","project_id","}","'","training_job",":","A","Cloud","training","job",".","For","CAIP",",","See","https",":","\/\/cloud.google.com\/ml-engine\/reference\/rest\/v1\/projects.jobs","for","the","detailed","schema",".","for","Vertex","AI","Training",",","see","https",":","\/\/cloud.google.com\/vertex-ai\/docs\/reference\/rest\/v1\/projects.locations.customJobs","#","CustomJob","the","detailed","schema","."]
code: def launch_job(
      self, project: str, training_job: Dict[str, Any]
  ) -> None:
      """Launches a long-running job.
  
      Args:
        project: The project name in the form of 'projects/{project_id}'
        training_job: A Cloud training job. For CAIP, See
          https://cloud.google.com/ml-engine/reference/rest/v1/projects.jobs for
            the detailed schema. for Vertex AI Training, see
          https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.customJobs#CustomJob
            the detailed schema.
      """
      pass
  
imports: import abc
  import datetime
  import json
  import random
  from typing import Any, Dict, List, Optional, Union
  from absl import logging
  from google.api_core import retry
  from google.cloud.aiplatform import gapic
  from google.cloud.aiplatform_v1.types.custom_job import CustomJob
  from google.cloud.aiplatform_v1.types.job_state import JobState
  from googleapiclient import discovery
  from tfx import types
  from tfx.types import artifact_utils
  from tfx.utils import telemetry_utils
  from tfx.utils import version_utils
label_desc: Use image node_id 4 for calling the AbstractJobClient obj's underlying member method code with example usage: obj.launch_job(project, training_job) without return types