github.com/trawler/terraform@v0.10.8-0.20171106022149-4b1c7a1d9b48/terraform/eval_error.go (about)

     1  package terraform
     2  
     3  // EvalReturnError is an EvalNode implementation that returns an
     4  // error if it is present.
     5  //
     6  // This is useful for scenarios where an error has been captured by
     7  // another EvalNode (like EvalApply) for special EvalTree-based error
     8  // handling, and that handling has completed, so the error should be
     9  // returned normally.
    10  type EvalReturnError struct {
    11  	Error *error
    12  }
    13  
    14  func (n *EvalReturnError) Eval(ctx EvalContext) (interface{}, error) {
    15  	if n.Error == nil {
    16  		return nil, nil
    17  	}
    18  
    19  	return nil, *n.Error
    20  }