mirror of
https://github.com/opentofu/opentofu.git
synced 2025-01-01 11:47:07 -06:00
73053eb5ef
Some of the objects that are referencable from expressions are transient values computed only during a graph walk, and not persisted in state. In order to support arbitrary evaluation of expressions, such as in the "terraform console" CLI command, it's necessary to be able to evaluate these values before we start evaluating. This new Eval method achieves this by performing a special graph walk that ignores resources (except for dependency resolution) and just focuses on evaluating all of these transient values, before returning an evaluation scope that can then resolve expressions in terms of that result. This replaces the Context.Interpolator method, which was fraught with various issues due to it not properly priming the state before evaluating.
17 lines
592 B
Go
17 lines
592 B
Go
// Code generated by "stringer -type=walkOperation graph_walk_operation.go"; DO NOT EDIT.
|
|
|
|
package terraform
|
|
|
|
import "strconv"
|
|
|
|
const _walkOperation_name = "walkInvalidwalkInputwalkApplywalkPlanwalkPlanDestroywalkRefreshwalkValidatewalkDestroywalkImportwalkEval"
|
|
|
|
var _walkOperation_index = [...]uint8{0, 11, 20, 29, 37, 52, 63, 75, 86, 96, 104}
|
|
|
|
func (i walkOperation) String() string {
|
|
if i >= walkOperation(len(_walkOperation_index)-1) {
|
|
return "walkOperation(" + strconv.FormatInt(int64(i), 10) + ")"
|
|
}
|
|
return _walkOperation_name[_walkOperation_index[i]:_walkOperation_index[i+1]]
|
|
}
|