Skip to content

Commit c9918d2

Browse files
committed
adding some code to simplify switching over to the instance expander for actions
1 parent 5faea38 commit c9918d2

File tree

3 files changed

+19
-20
lines changed

3 files changed

+19
-20
lines changed

internal/terraform/context_plan_actions_test.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,12 @@ func TestContextPlan_actions(t *testing.T) {
100100
}
101101

102102
for topic, tcs := range map[string]map[string]struct {
103-
toBeImplemented bool
104-
module map[string]string
105-
buildState func(*states.SyncState)
106-
planActionFn func(*testing.T, providers.PlanActionRequest) providers.PlanActionResponse
107-
planResourceFn func(*testing.T, providers.PlanResourceChangeRequest) providers.PlanResourceChangeResponse
108-
readResourceFn func(*testing.T, providers.ReadResourceRequest) providers.ReadResourceResponse
109-
planOpts *PlanOpts
103+
module map[string]string
104+
buildState func(*states.SyncState)
105+
planActionFn func(*testing.T, providers.PlanActionRequest) providers.PlanActionResponse
106+
planResourceFn func(*testing.T, providers.PlanResourceChangeRequest) providers.PlanResourceChangeResponse
107+
readResourceFn func(*testing.T, providers.ReadResourceRequest) providers.ReadResourceResponse
108+
planOpts *PlanOpts
110109

111110
expectPlanActionCalled bool
112111

internal/terraform/node_action_trigger_partialexp.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,21 @@ import (
2525
//
2626
// This is the partial-expanded equivalent of NodeActionTriggerInstance.
2727
type NodeActionTriggerPartialExpanded struct {
28-
addr addrs.PartialExpandedAction
29-
config *configs.Action
30-
resolvedProvider addrs.AbsProviderConfig
31-
lifecycleActionTrigger *lifecycleActionTriggerPartialExpanded
28+
addr addrs.PartialExpandedAction
29+
config *configs.Action
30+
resolvedProvider addrs.AbsProviderConfig
31+
resourceActionTrigger *resourceActionTriggerPartialExpanded
3232
}
3333

34-
type lifecycleActionTriggerPartialExpanded struct {
34+
type resourceActionTriggerPartialExpanded struct {
3535
resourceAddress addrs.PartialExpandedResource
3636
events []configs.ActionTriggerEvent
3737
actionTriggerBlockIndex int
3838
actionListIndex int
3939
invokingSubject *hcl.Range
4040
}
4141

42-
func (at *lifecycleActionTriggerPartialExpanded) Name() string {
42+
func (at *resourceActionTriggerPartialExpanded) Name() string {
4343
return fmt.Sprintf("%s.lifecycle.action_trigger[%d].actions[%d]", at.resourceAddress.String(), at.actionTriggerBlockIndex, at.actionListIndex)
4444
}
4545

@@ -74,12 +74,12 @@ func (n *NodeActionTriggerPartialExpanded) ActionAddr() addrs.ConfigAction {
7474
func (n *NodeActionTriggerPartialExpanded) Execute(ctx EvalContext, op walkOperation) tfdiags.Diagnostics {
7575
var diags tfdiags.Diagnostics
7676
// We know that if the action is partially expanded, the triggering resource must also be partially expanded.
77-
partialResourceChange := ctx.Deferrals().GetDeferredPartialExpandedResource(n.lifecycleActionTrigger.resourceAddress)
77+
partialResourceChange := ctx.Deferrals().GetDeferredPartialExpandedResource(n.resourceActionTrigger.resourceAddress)
7878
if partialResourceChange == nil {
7979
panic("partialResource is nil")
8080
}
8181

82-
triggeringEvents := actionIsTriggeredByEvent(n.lifecycleActionTrigger.events, partialResourceChange.Change.Action)
82+
triggeringEvents := actionIsTriggeredByEvent(n.resourceActionTrigger.events, partialResourceChange.Change.Action)
8383
if len(triggeringEvents) == 0 {
8484
return nil
8585
}
@@ -95,7 +95,7 @@ func (n *NodeActionTriggerPartialExpanded) Execute(ctx EvalContext, op walkOpera
9595
Severity: hcl.DiagError,
9696
Summary: "Failed to get provider",
9797
Detail: fmt.Sprintf("Failed to get provider: %s", err),
98-
Subject: n.lifecycleActionTrigger.invokingSubject,
98+
Subject: n.resourceActionTrigger.invokingSubject,
9999
})
100100

101101
return diags
@@ -120,10 +120,10 @@ func (n *NodeActionTriggerPartialExpanded) Execute(ctx EvalContext, op walkOpera
120120
Addr: n.addr.UnknownActionInstance(),
121121
ProviderAddr: n.resolvedProvider,
122122
ActionTrigger: &plans.ResourceActionTrigger{
123-
TriggeringResourceAddr: n.lifecycleActionTrigger.resourceAddress.UnknownResourceInstance(),
123+
TriggeringResourceAddr: n.resourceActionTrigger.resourceAddress.UnknownResourceInstance(),
124124
ActionTriggerEvent: triggeringEvent,
125-
ActionTriggerBlockIndex: n.lifecycleActionTrigger.actionTriggerBlockIndex,
126-
ActionsListIndex: n.lifecycleActionTrigger.actionListIndex,
125+
ActionTriggerBlockIndex: n.resourceActionTrigger.actionTriggerBlockIndex,
126+
ActionsListIndex: n.resourceActionTrigger.actionListIndex,
127127
},
128128
ConfigValue: actionInstance.ConfigValue,
129129
}, providers.DeferredReasonInstanceCountUnknown)

internal/terraform/node_action_trigger_plan.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (n *nodeActionTriggerPlanExpand) DynamicExpand(ctx EvalContext) (*Graph, tf
5858
addr: actionAddr,
5959
config: n.Config,
6060
resolvedProvider: n.resolvedProvider,
61-
lifecycleActionTrigger: &lifecycleActionTriggerPartialExpanded{
61+
resourceActionTrigger: &resourceActionTriggerPartialExpanded{
6262
resourceAddress: resourceAddr,
6363
events: n.triggerConfig.events,
6464
actionTriggerBlockIndex: n.triggerConfig.actionTriggerBlockIndex,

0 commit comments

Comments
 (0)