code: def complete(self, default_output=None):
      
      # TODO: Enforce that all outputs expected by this async pipeline were
      # filled before this complete() function was called. May required all
      # async functions to declare their outputs upfront.
      if not self.async:
        raise UnexpectedPipelineError(
            'May only call complete() method for asynchronous pipelines.')
      self._context.fill_slot(
          self._pipeline_key, self.outputs.default, default_output)
docs: Marks this asynchronous Pipeline as complete.
  
      Args:
        default_output: What value the 'default' output slot should be assigned.
  
      Raises:
        UnexpectedPipelineError if the slot no longer exists or this method was
        called for a pipeline that is not async.