class_docstr: Defines testing harness for pipeline on KubeflowV2DagRunner.
docstr: Creates a pipeline given name and list of components.
docstr_tok: ["Creates","a","pipeline","given","name","and","list","of","components","."]
code: def _create_pipeline(
      self,
      pipeline_name: str,
      pipeline_components: List[base_node.BaseNode],
      beam_pipeline_args: Optional[List[str]] = None,
  ) -> tfx_pipeline.Pipeline:
      """Creates a pipeline given name and list of components."""
      return tfx_pipeline.Pipeline(
          pipeline_name=pipeline_name,
          pipeline_root=self._pipeline_root(pipeline_name),
          components=pipeline_components,
          beam_pipeline_args=beam_pipeline_args,
      )
  
imports: import datetime
  import os
  import subprocess
  from typing import Any, Dict, List, Optional
  from absl import logging
  from google.cloud import aiplatform
  from google.cloud.aiplatform import pipeline_jobs
  from tfx.dsl.components.base import base_node
  from tfx.orchestration import pipeline
  from tfx.orchestration import test_utils
  from tfx.orchestration.kubeflow.v2 import kubeflow_v2_dag_runner
  from tfx.orchestration.kubeflow.v2 import vertex_client_utils
  from tfx.utils import io_utils
  from tfx.utils import test_case_utils
label_desc: Use image node_id 6 for calling the BaseKubeflowV2Test obj's underlying member method code with example usage: obj._create_pipeline(pipeline_name, pipeline_components, beam_pipeline_args) and returns: tfx_pipeline