|
|
|
|
@ -12,10 +12,20 @@ import (
|
|
|
|
|
// BuiltinEvalContext is an EvalContext implementation that is used by
|
|
|
|
|
// Terraform by default.
|
|
|
|
|
type BuiltinEvalContext struct {
|
|
|
|
|
PathValue []string
|
|
|
|
|
// PathValue is the Path that this context is operating within.
|
|
|
|
|
PathValue []string
|
|
|
|
|
|
|
|
|
|
// Interpolater setting below affect the interpolation of variables.
|
|
|
|
|
//
|
|
|
|
|
// The InterpolaterVars are the exact value for ${var.foo} values.
|
|
|
|
|
// The map is shared between all contexts and is a mapping of
|
|
|
|
|
// PATH to KEY to VALUE. Because it is shared by all contexts as well
|
|
|
|
|
// as the Interpolater itself, it is protected by InterpolaterVarLock
|
|
|
|
|
// which must be locked during any access to the map.
|
|
|
|
|
Interpolater *Interpolater
|
|
|
|
|
InterpolaterVars map[string]map[string]string
|
|
|
|
|
InterpolaterVarLock *sync.Mutex
|
|
|
|
|
|
|
|
|
|
Hooks []Hook
|
|
|
|
|
InputValue UIInput
|
|
|
|
|
Providers map[string]ResourceProviderFactory
|
|
|
|
|
|