What are the possible values for the run action field in Notification Policies?
Last updated: September 15, 2025
Context
When writing notification policies, users need to understand all possible values for the run.changes[i].action field to properly handle different types of infrastructure changes in their policies. The documentation currently shows only a limited set of possible values, which can lead to confusion when implementing notification policies.
Answer
The run.changes[i].action field can contain several different values depending on the type of operation being performed. Here is the complete list of possible values grouped by category:
Core Infrastructure Actions
added- Resource was createdchanged- Resource was modified in-placedeleted- Resource was destroyedno-op- No change (no operation)read- Data source read operation
Terraform Replacement Actions
destroy-before-create-replaced- Resource replaced by destroying first, then creatingcreate-before-destroy-replaced- Resource replaced by creating first, then destroying
State Management Actions
import- Resource was imported into stateforget- Resource was removed from state (but not destroyed)
Ansible-specific Actions
ok- Task executed successfully without changesskipped- Task was skippedrescued- Task was rescued from failureignored- Task failure was ignoredunreachable- Host was unreachablefailed- Task failed
When writing notification policies, you can use these values to create conditions and handle different types of changes appropriately. For example:
x.action == "create-before-destroy-replaced" # Check if the action is a create-before-destroy replacement
x.action == "import" # Check if the action is a state import