Terraform Plan & Drift Explorer
Paste terraform show -json: drift, replacement reasons, attribute diffs and risky deletes.
Try an example: Database replacement, bucket deletion, drift on a security group · terraform plan -json stream (GCP)
How it works
Paste the JSON of a saved plan (`terraform show -json tfplan`) or the `terraform plan -json` stream. You get counts per action, every resource change with Terraform's own reason (tainted, cannot update, removed from config…), attribute-level before/after diffs with sensitive values masked and "known after apply" marked, the drift Terraform detected outside of Terraform during refresh, and risk flags for deleting or replacing databases, buckets and other stateful resources or for opening access.
- Reads the documented Terraform JSON plan format: resource_changes[].change.actions (["delete","create"] = destroy-then-create replacement, ["create","delete"] = create_before_destroy), action_reason, replace_paths, previous_address (moved), importing; resource_drift[] for changes made outside Terraform; output_changes.
- Attribute diffs flatten before/after into dotted paths; after_unknown marks values "known after apply"; any path covered by before_sensitive/after_sensitive is replaced by "(sensitive value)" and never shown.
- Drift: before = last state, after = refreshed real-world value. If the same address has an update planned, applying reverts the drift; a no-op plan means the configuration already matches (or ignore_changes).
- Risk: delete/replace of a stateful type (databases, buckets, volumes, queues, keys, secrets, DNS zones…) is critical; other deletes high; other replacements medium; updates that open 0.0.0.0/0, grant "*" principals/actions, disable deletion protection, encryption, backups or S3 public-access blocks are high; force_destroy / skip_final_snapshot on deletion escalate.
- The plan -json stream contains actions and reasons but no attribute values, so attribute diffs and value-based checks need the show -json form.
For scripts and AI agents
- JSON API:
POST https://terraformdriftexplorer.usefulweb.site/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://terraformdriftexplorer.usefulweb.site/mcp· tool nameterraform_drift_explorer
Example request
curl -s -X POST https://terraformdriftexplorer.usefulweb.site/api/v1/calculate \
-H 'content-type: application/json' \
-d '{…see OpenAPI examples…}'Related tools
- Kubernetes Event Explorer – Paste kubectl events and get a timeline, reason taxonomy and likely root causes per workload.
- API Explorer of Explorers – Search 2,500+ public APIs or summarise any OpenAPI spec: servers, auth, endpoints, changes.