diff --git a/internal/configs/action.go b/internal/configs/action.go index e45307f5f6..b06e884477 100644 --- a/internal/configs/action.go +++ b/internal/configs/action.go @@ -106,6 +106,16 @@ func decodeActionTriggerBlock(block *hcl.Block) (*ActionTrigger, hcl.Diagnostics Subject: expr.Range().Ptr(), }) } + + if event == BeforeDestroy || event == AfterDestroy { + diags = append(diags, &hcl.Diagnostic{ + Severity: hcl.DiagError, + Summary: "Invalid destroy event used", + Detail: "The destroy events (before_destroy, after_destroy) are not supported as of right now. They will be supported in a future release.", + Subject: expr.Range().Ptr(), + }) + } + events = append(events, event) } a.Events = events diff --git a/internal/configs/module_merge_test.go b/internal/configs/module_merge_test.go index a1114b63c4..dee27a8b17 100644 --- a/internal/configs/module_merge_test.go +++ b/internal/configs/module_merge_test.go @@ -418,5 +418,5 @@ func TestModuleOverride_action_and_trigger(t *testing.T) { // verify the resource action trigger event changed at := mod.ManagedResources["test_instance.test"].Managed.ActionTriggers[0] - assertResultDeepEqual(t, at.Events, []ActionTriggerEvent{AfterDestroy}) + assertResultDeepEqual(t, at.Events, []ActionTriggerEvent{BeforeCreate}) } diff --git a/internal/configs/testdata/valid-modules/override-action-and-trigger/main_override.tf b/internal/configs/testdata/valid-modules/override-action-and-trigger/main_override.tf index 93f0cbdb66..9b4b6482a3 100644 --- a/internal/configs/testdata/valid-modules/override-action-and-trigger/main_override.tf +++ b/internal/configs/testdata/valid-modules/override-action-and-trigger/main_override.tf @@ -7,7 +7,7 @@ action "test_action" "test" { resource "test_instance" "test" { lifecycle { action_trigger { - events = [after_destroy] + events = [before_create] actions = [action.test_action.dosomething] } }