class_docstr: Kubeflow pipelines spec builder.
  
  Constructs a pipeline spec based on the TFX pipeline object.
class_docstr_tok: ["Kubeflow","pipelines","spec","builder",".","Constructs","a","pipeline","spec","based","on","the","TFX","pipeline","object","."]
docstr: Creates a PipelineBuilder object.
  
  A PipelineBuilder takes in a TFX pipeline object. Then
  PipelineBuilder.build() outputs Kubeflow PipelineSpec proto.
  
  Args:
    tfx_pipeline: A TFX pipeline object.
    default_image: Specifies the TFX container image used in CMLE container
      tasks. Can be overriden by per component specification.
    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
    exit_handler: the optional custom component for post actions triggered
      after all pipeline tasks finish.
docstr_tok: ["Creates","a","PipelineBuilder","object",".","A","PipelineBuilder","takes","in","a","TFX","pipeline","object",".","Then","PipelineBuilder.build","(",")","outputs","Kubeflow","PipelineSpec","proto",".","Args",":","tfx_pipeline",":","A","TFX","pipeline","object",".","default_image",":","Specifies","the","TFX","container","image","used","in","CMLE","container","tasks",".","Can","be","overriden","by","per","component","specification",".","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","exit_handler",":","the","optional","custom","component","for","post","actions","triggered","after","all","pipeline","tasks","finish","."]
code: def __init__(
      self,
      tfx_pipeline: pipeline.Pipeline,
      default_image: Union[str, Mapping[str, str]],
      default_commands: Optional[List[str]] = None,
      exit_handler: Optional[base_node.BaseNode] = None,
  ):
      """Creates a PipelineBuilder object.
  
      A PipelineBuilder takes in a TFX pipeline object. Then
      PipelineBuilder.build() outputs Kubeflow PipelineSpec proto.
  
      Args:
        tfx_pipeline: A TFX pipeline object.
        default_image: Specifies the TFX container image used in CMLE container
          tasks. Can be overriden by per component specification.
        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
        exit_handler: the optional custom component for post actions triggered
          after all pipeline tasks finish.
      """
      self._pipeline_info = tfx_pipeline.pipeline_info
      self._pipeline = tfx_pipeline
      self._default_image = default_image
      self._default_commands = default_commands
      self._exit_handler = exit_handler
  
imports: import random
  import re
  import string
  import typing
  from typing import Any, Dict, List, Mapping, Optional, Union
  from absl import logging
  from kfp.pipeline_spec import pipeline_spec_pb2
  from tfx.dsl.components.base import base_node
  from tfx.dsl.placeholder import placeholder
  from tfx.orchestration import data_types
  from tfx.orchestration import pipeline
  from tfx.orchestration.kubeflow import utils
  from tfx.orchestration.kubeflow.v2 import compiler_utils
  from tfx.orchestration.kubeflow.v2 import parameter_utils
  from tfx.orchestration.kubeflow.v2 import step_builder
  from tfx.types import channel_utils
  from google.protobuf import json_format
label_desc: Use image node_id 1 to create a new PipelineBuilder object  with example: obj = PipelineBuilder(tfx_pipeline, default_image, default_commands, exit_handler)