class_docstr: A placeholder that will ultimately be translated to a PTransform.
  
  Attributes:
    operation_def: An `OperationDef`.
    inputs: A tuple of `ValueNode`s.
code: def __init__(self, operation_def, inputs):
      self._operation_def = operation_def
      self._inputs = inputs
      if not isinstance(operation_def, OperationDef):
          raise TypeError(
              "operation_def must be an OperationDef, got {} of type {}".format(
                  operation_def, type(operation_def)
              )
          )
      if not isinstance(inputs, tuple):
          raise TypeError(
              "inputs must be a tuple, got {} of type {}".format(
                  inputs, type(inputs)
              )
          )
      for value_node in inputs:
          if not isinstance(value_node, ValueNode):
              raise TypeError(
                  "Inputs to Operation must be a ValueNode, got {} of type {}".format(
                      value_node, type(value_node)
                  )
              )
  
imports: import abc
  import collections
  import dataclasses
  from typing import Any, Collection, Dict, List, Optional, Tuple
  import pydot
label_desc: Use image node_id 1 to create a new OperationNode object  with example: obj = OperationNode(operation_def, inputs)