class_docstr: Runtime configuration specific to execution on Kubeflow V2 pipelines.
class_docstr_tok: ["Runtime","configuration","specific","to","execution","on","Kubeflow","V2","pipelines","."]
docstr: Constructs a Kubeflow V2 runner config.
  
  Args:
    display_name: Optional human-readable pipeline name. Defaults to the
      pipeline name passed into `KubeflowV2DagRunner.run()`.
    default_image: The default TFX image to be used if not overriden by per
      component specification. It can be a map whose key is a component id and
      value is an image path to set the image by a component level.
    default_commands: Optionally specifies the commands of the provided
      container image. When not provided, the default `ENTRYPOINT` specified
      in the docker image is used. Note: the commands here refers to the K8S
      container command, which maps to Docker entrypoint field. If one
      supplies command but no args are provided for the container, the
      container will be invoked with the provided command, ignoring the
      `ENTRYPOINT` and `CMD` defined in the Dockerfile. One can find more
      details regarding the difference between K8S and Docker conventions at
      https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes
    **kwargs: Additional args passed to base PipelineConfig.
docstr_tok: ["Constructs","a","Kubeflow","V2","runner","config",".","Args",":","display_name",":","Optional","human-readable","pipeline","name",".","Defaults","to","the","pipeline","name","passed","into","`","KubeflowV2DagRunner.run","(",")","`",".","default_image",":","The","default","TFX","image","to","be","used","if","not","overriden","by","per","component","specification",".","It","can","be","a","map","whose","key","is","a","component","id","and","value","is","an","image","path","to","set","the","image","by","a","component","level",".","default_commands",":","Optionally","specifies","the","commands","of","the","provided","container","image",".","When","not","provided",",","the","default","`","ENTRYPOINT","`","specified","in","the","docker","image","is","used",".","Note",":","the","commands","here","refers","to","the","K8S","container","command",",","which","maps","to","Docker","entrypoint","field",".","If","one","supplies","command","but","no","args","are","provided","for","the","container",",","the","container","will","be","invoked","with","the","provided","command",",","ignoring","the","`","ENTRYPOINT","`","and","`","CMD","`","defined","in","the","Dockerfile",".","One","can","find","more","details","regarding","the","difference","between","K8S","and","Docker","conventions","at","https",":","\/\/kubernetes.io\/docs\/tasks\/inject-data-application\/define-command-argument-container\/","#","notes","*","*","kwargs",":","Additional","args","passed","to","base","PipelineConfig","."]
code: def __init__(
      self,
      display_name: Optional[str] = None,
      default_image: Optional[
          Union[str, MutableMapping[str, str]]
      ] = None,
      default_commands: Optional[List[str]] = None,
      **kwargs,
  ):
      """Constructs a Kubeflow V2 runner config.
  
      Args:
        display_name: Optional human-readable pipeline name. Defaults to the
          pipeline name passed into `KubeflowV2DagRunner.run()`.
        default_image: The default TFX image to be used if not overriden by per
          component specification. It can be a map whose key is a component id and
          value is an image path to set the image by a component level.
        default_commands: Optionally specifies the commands of the provided
          container image. When not provided, the default `ENTRYPOINT` specified
          in the docker image is used. Note: the commands here refers to the K8S
          container command, which maps to Docker entrypoint field. If one
          supplies command but no args are provided for the container, the
          container will be invoked with the provided command, ignoring the
          `ENTRYPOINT` and `CMD` defined in the Dockerfile. One can find more
          details regarding the difference between K8S and Docker conventions at
          https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes
        **kwargs: Additional args passed to base PipelineConfig.
      """
      super().__init__(**kwargs)
      self.display_name = display_name
      self.default_image = default_image or _KUBEFLOW_TFX_IMAGE
      if (
          isinstance(self.default_image, MutableMapping)
          and self.default_image.get(_DEFAULT_IMAGE_PATH_KEY) is None
      ):
          self.default_image[
              _DEFAULT_IMAGE_PATH_KEY
          ] = _KUBEFLOW_TFX_IMAGE
      if default_commands is None:
          self.default_commands = KUBEFLOW_TFX_CMD
      else:
          self.default_commands = default_commands
  
imports: import datetime
  import json
  import os
  from typing import Any, Dict, List, Optional, Union, MutableMapping
  from absl import logging
  from kfp.pipeline_spec import pipeline_spec_pb2
  from tfx import version
  from tfx.dsl.components.base import base_component
  from tfx.dsl.components.base import base_node
  from tfx.dsl.io import fileio
  from tfx.orchestration import pipeline
  from tfx.orchestration import tfx_runner
  from tfx.orchestration.config import pipeline_config
  from tfx.orchestration.kubeflow.v2 import pipeline_builder
  from tfx.utils import telemetry_utils
  from tfx.utils import version_utils
  from google.protobuf import json_format
label_desc: Use image node_id 1 to create a new KubeflowV2DagRunnerConfig object from inherited base classes: pipeline_config with example: obj = KubeflowV2DagRunnerConfig(display_name, default_image, default_commands)