]>
Commit | Line | Data |
---|---|---|
bae9f6d2 JC |
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 | } |