remove PreDiff and PostDiff hook calls
PreDiff and PostDiff hooks were designed to be called immediately before and after the PlanResourceChange calls to the provider. Probably due to the confusing legacy naming of the hooks, these were scattered about the nodes involved with planning, causing the hooks to be called in a number of places where they were designed, including data sources and destroy plans. Since these hooks are not used at all any longer anyway, we can removed the extra calls with no effect. If we choose in the future to call PlanResourceChange for resource destroy plans, the hooks can be re-inserted (even though they currently are unused) into the new code path which must diverge from the current combined path of managed and data sources.
This commit is contained in:
parent
dc668dff38
commit
05a10f06d1
|
@ -1512,10 +1512,8 @@ func TestContext2Apply_destroyData(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
wantHookCalls := []*testHookCall{
|
wantHookCalls := []*testHookCall{
|
||||||
{"PreDiff", "data.null_data_source.testing"},
|
{"PreApply", "data.null_data_source.testing"},
|
||||||
{"PostDiff", "data.null_data_source.testing"},
|
{"PostApply", "data.null_data_source.testing"},
|
||||||
{"PreDiff", "data.null_data_source.testing"},
|
|
||||||
{"PostDiff", "data.null_data_source.testing"},
|
|
||||||
{"PostStateUpdate", ""},
|
{"PostStateUpdate", ""},
|
||||||
}
|
}
|
||||||
if !reflect.DeepEqual(hook.Calls, wantHookCalls) {
|
if !reflect.DeepEqual(hook.Calls, wantHookCalls) {
|
||||||
|
|
|
@ -410,18 +410,6 @@ func (n *NodeAbstractResourceInstance) planDestroy(ctx EvalContext, currentState
|
||||||
return noop, nil
|
return noop, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call pre-diff hook
|
|
||||||
diags = diags.Append(ctx.Hook(func(h Hook) (HookAction, error) {
|
|
||||||
return h.PreDiff(
|
|
||||||
absAddr, deposedKey.Generation(),
|
|
||||||
currentState.Value,
|
|
||||||
cty.NullVal(cty.DynamicPseudoType),
|
|
||||||
)
|
|
||||||
}))
|
|
||||||
if diags.HasErrors() {
|
|
||||||
return nil, diags
|
|
||||||
}
|
|
||||||
|
|
||||||
// Plan is always the same for a destroy. We don't need the provider's
|
// Plan is always the same for a destroy. We don't need the provider's
|
||||||
// help for this one.
|
// help for this one.
|
||||||
plan := &plans.ResourceInstanceChange{
|
plan := &plans.ResourceInstanceChange{
|
||||||
|
@ -437,17 +425,6 @@ func (n *NodeAbstractResourceInstance) planDestroy(ctx EvalContext, currentState
|
||||||
ProviderAddr: n.ResolvedProvider,
|
ProviderAddr: n.ResolvedProvider,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call post-diff hook
|
|
||||||
diags = diags.Append(ctx.Hook(func(h Hook) (HookAction, error) {
|
|
||||||
return h.PostDiff(
|
|
||||||
absAddr,
|
|
||||||
deposedKey.Generation(),
|
|
||||||
plan.Action,
|
|
||||||
plan.Before,
|
|
||||||
plan.After,
|
|
||||||
)
|
|
||||||
}))
|
|
||||||
|
|
||||||
return plan, diags
|
return plan, diags
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1567,13 +1544,6 @@ func (n *NodeAbstractResourceInstance) planDataSource(ctx EvalContext, currentSt
|
||||||
}
|
}
|
||||||
|
|
||||||
proposedNewVal := objchange.PlannedDataResourceObject(schema, unmarkedConfigVal)
|
proposedNewVal := objchange.PlannedDataResourceObject(schema, unmarkedConfigVal)
|
||||||
|
|
||||||
diags = diags.Append(ctx.Hook(func(h Hook) (HookAction, error) {
|
|
||||||
return h.PreDiff(n.Addr, states.CurrentGen, priorVal, proposedNewVal)
|
|
||||||
}))
|
|
||||||
if diags.HasErrors() {
|
|
||||||
return nil, nil, keyData, diags
|
|
||||||
}
|
|
||||||
proposedNewVal = proposedNewVal.MarkWithPaths(configMarkPaths)
|
proposedNewVal = proposedNewVal.MarkWithPaths(configMarkPaths)
|
||||||
|
|
||||||
// Apply detects that the data source will need to be read by the After
|
// Apply detects that the data source will need to be read by the After
|
||||||
|
@ -1601,13 +1571,6 @@ func (n *NodeAbstractResourceInstance) planDataSource(ctx EvalContext, currentSt
|
||||||
return plannedChange, plannedNewState, keyData, diags
|
return plannedChange, plannedNewState, keyData, diags
|
||||||
}
|
}
|
||||||
|
|
||||||
// While this isn't a "diff", continue to call this for data sources.
|
|
||||||
diags = diags.Append(ctx.Hook(func(h Hook) (HookAction, error) {
|
|
||||||
return h.PreDiff(n.Addr, states.CurrentGen, priorVal, configVal)
|
|
||||||
}))
|
|
||||||
if diags.HasErrors() {
|
|
||||||
return nil, nil, keyData, diags
|
|
||||||
}
|
|
||||||
// We have a complete configuration with no dependencies to wait on, so we
|
// We have a complete configuration with no dependencies to wait on, so we
|
||||||
// can read the data source into the state.
|
// can read the data source into the state.
|
||||||
newVal, readDiags := n.readDataSource(ctx, configVal)
|
newVal, readDiags := n.readDataSource(ctx, configVal)
|
||||||
|
@ -1643,9 +1606,6 @@ func (n *NodeAbstractResourceInstance) planDataSource(ctx EvalContext, currentSt
|
||||||
Status: states.ObjectReady,
|
Status: states.ObjectReady,
|
||||||
}
|
}
|
||||||
|
|
||||||
diags = diags.Append(ctx.Hook(func(h Hook) (HookAction, error) {
|
|
||||||
return h.PostDiff(n.Addr, states.CurrentGen, plans.Update, priorVal, newVal)
|
|
||||||
}))
|
|
||||||
return nil, plannedNewState, keyData, diags
|
return nil, plannedNewState, keyData, diags
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue