class_docstr: Wrapper of a node.
  
  The wrapper is needed for container entrypoint to deserialize a component
  wihtout knowning it's original python class. This enables users
  to use container base component without re-compiling the tfx base image every
  time they change the component and spec definitions.
code: def __init__(self, node: base_node.BaseNode):
      self.executor_spec = node.executor_spec
      self.driver_class = node.driver_class
      self._type = node.type
      self._id = node.id
      self._inputs = node.inputs
      self._outputs = node.outputs
      self._exec_properties = node.exec_properties
      # Currently the NodeExecutionOptions in tfx.dsl.experiment.utils is for the
      # experimental orchestrator, but we need to set the field here anyways so
      # the property can be accessed properly.
      self._node_execution_options = None
  
file_path: tfx/tfx/orchestration/experimental/kubernetes/node_wrapper.py
imports: from typing import Any, Dict
  from tfx.dsl.components.base import base_node
label_desc: Use image node_id 1 to create a new NodeWrapper object from inherited base classes: base_node with example: obj = NodeWrapper(node)