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
|
||||
|
||||
// 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 {
|
||||
m, forEachDiags := evaluateResourceForEachExpression(n.ResourceConfig.ForEach, ctx)
|
||||
diags = diags.Append(forEachDiags)
|
||||
|
|
|
@ -104,6 +104,11 @@ type InstanceKeyEvalData = instances.RepetitionData
|
|||
|
||||
// EvalDataForInstanceKey constructs a suitable InstanceKeyEvalData for
|
||||
// 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 {
|
||||
var evalData InstanceKeyEvalData
|
||||
if key == nil {
|
||||
|
|
Loading…
Reference in New Issue