better comments
This commit is contained in:
parent
0d6b5f1559
commit
745d4e76ec
|
@ -563,7 +563,10 @@ func (n *EvalApplyProvisioners) apply(ctx EvalContext, provs []*configs.Provisio
|
||||||
|
|
||||||
var forEach map[string]cty.Value
|
var forEach map[string]cty.Value
|
||||||
|
|
||||||
// We can't evaluate the for_each expression during a destroy
|
// For a destroy-time provisioner forEach is intentionally nil here,
|
||||||
|
// which EvalDataForInstanceKey responds to by not populating EachValue
|
||||||
|
// in its result. That's okay because each.value is prohibited for
|
||||||
|
// destroy-time provisioners.
|
||||||
if n.When != configs.ProvisionerWhenDestroy {
|
if n.When != configs.ProvisionerWhenDestroy {
|
||||||
m, forEachDiags := evaluateResourceForEachExpression(n.ResourceConfig.ForEach, ctx)
|
m, forEachDiags := evaluateResourceForEachExpression(n.ResourceConfig.ForEach, ctx)
|
||||||
diags = diags.Append(forEachDiags)
|
diags = diags.Append(forEachDiags)
|
||||||
|
|
|
@ -104,6 +104,11 @@ type InstanceKeyEvalData = instances.RepetitionData
|
||||||
|
|
||||||
// EvalDataForInstanceKey constructs a suitable InstanceKeyEvalData for
|
// EvalDataForInstanceKey constructs a suitable InstanceKeyEvalData for
|
||||||
// evaluating in a context that has the given instance key.
|
// evaluating in a context that has the given instance key.
|
||||||
|
//
|
||||||
|
// The forEachMap argument can be nil when preparing for evaluation
|
||||||
|
// in a context where each.value is prohibited, such as a destroy-time
|
||||||
|
// provisioner. In that case, the returned EachValue will always be
|
||||||
|
// cty.NilVal.
|
||||||
func EvalDataForInstanceKey(key addrs.InstanceKey, forEachMap map[string]cty.Value) InstanceKeyEvalData {
|
func EvalDataForInstanceKey(key addrs.InstanceKey, forEachMap map[string]cty.Value) InstanceKeyEvalData {
|
||||||
var evalData InstanceKeyEvalData
|
var evalData InstanceKeyEvalData
|
||||||
if key == nil {
|
if key == nil {
|
||||||
|
|
Loading…
Reference in New Issue