Summarize Terraform plan outputs.
Project description
terraform-plan-summary
A Python command-line tool that transforms Terraform plan outputs into clean, hierarchical tree views with color-coded changes. Easily visualize your infrastructure changes organized by modules with detailed attribute-level inspection.
Installation
From PyPI
Using uv:
uv pip install terraform-plan-summary
Or run directly with uvx:
uvx terraform-plan-summary
Requirements
- Python 3.13 or higher
- Terraform CLI (for processing binary plan files)
Usage
Basic Usage
# From a JSON plan file
terraform-plan-summary plan.json
# From a binary plan file (requires terraform CLI)
terraform-plan-summary plan.out
Command Line Options
terraform-plan-summary [OPTIONS] PLAN_FILE
Arguments:
PLAN_FILE Path to Terraform plan file (binary .out or JSON)
Options:
-v, --verbose Show changed attributes (-v) or their values (-vv)
--show-ids Display resource identifiers (name, ARN, ID, etc.)
-h, --help Show help message
Examples
Basic Tree View
terraform-plan-summary plan.json
root_module
├── + aws_instance.web_server
├── ~ aws_security_group.web_sg
└── database
├── + aws_db_instance.main
└── - aws_db_subnet_group.legacy
With Resource Identifiers
terraform-plan-summary --show-ids plan.json
root_module
├── + aws_instance.web_server (web-server-prod)
├── ~ aws_security_group.web_sg (sg-0abc123def456789)
└── database
├── + aws_db_instance.main (prod-database)
└── - aws_db_subnet_group.legacy (legacy-subnet-group)
Detailed Attribute Changes
terraform-plan-summary -vv --show-ids plan.json
root_module
├── + aws_instance.web_server (web-server-prod)
├── ~ aws_security_group.web_sg (sg-0abc123def456789)
│ ├── ~ ingress: [] -> [{"cidr_blocks":["0.0.0.0/0"],"from_port":80,"protocol":"tcp","to_port":80}]
│ └── + name: "web-security-group"
└── database
├── + aws_db_instance.main (prod-database)
└── - aws_db_subnet_group.legacy (legacy-subnet-group)
└── - subnet_ids: ["subnet-abc123","subnet-def456"]
Generating Terraform Plans
JSON Format (Recommended)
terraform plan -out=plan.out
terraform show -json plan.out > plan.json
terraform-plan-summary plan.json
Binary Format
terraform plan -out=plan.out
terraform-plan-summary plan.out
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file terraform_plan_summary-1.0.1.tar.gz.
File metadata
- Download URL: terraform_plan_summary-1.0.1.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d22a9b7e7335a519b64c8172c6d0291c55609f62e4fc3f293a7872bb7b3de9c
|
|
| MD5 |
8e2611b484e9bd8c9a35bf22a41a5adf
|
|
| BLAKE2b-256 |
3c2b98ae29f0037424333544ea7a480c1a2f7d9c3671a9d4eb34832592ad84f2
|
Provenance
The following attestation bundles were made for terraform_plan_summary-1.0.1.tar.gz:
Publisher:
publish.yml on nbr23/terraform-plan-summary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
terraform_plan_summary-1.0.1.tar.gz -
Subject digest:
1d22a9b7e7335a519b64c8172c6d0291c55609f62e4fc3f293a7872bb7b3de9c - Sigstore transparency entry: 471368982
- Sigstore integration time:
-
Permalink:
nbr23/terraform-plan-summary@bf15a0948bad68a885c69505a5a4b819fb3e6c2d -
Branch / Tag:
refs/heads/master - Owner: https://github.com/nbr23
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bf15a0948bad68a885c69505a5a4b819fb3e6c2d -
Trigger Event:
push
-
Statement type:
File details
Details for the file terraform_plan_summary-1.0.1-py3-none-any.whl.
File metadata
- Download URL: terraform_plan_summary-1.0.1-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17fbfa87feddb5cb857d88f4f61e52fd7af5c0b9e11cff37f9d5ceca0a3b45b6
|
|
| MD5 |
5b87b1b3445af2dda0446630a7602c6d
|
|
| BLAKE2b-256 |
fcadc976a0abfc5d11a0b9da33f4ea6426b2fd16ee8b94ba58be07930a5db32a
|
Provenance
The following attestation bundles were made for terraform_plan_summary-1.0.1-py3-none-any.whl:
Publisher:
publish.yml on nbr23/terraform-plan-summary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
terraform_plan_summary-1.0.1-py3-none-any.whl -
Subject digest:
17fbfa87feddb5cb857d88f4f61e52fd7af5c0b9e11cff37f9d5ceca0a3b45b6 - Sigstore transparency entry: 471369017
- Sigstore integration time:
-
Permalink:
nbr23/terraform-plan-summary@bf15a0948bad68a885c69505a5a4b819fb3e6c2d -
Branch / Tag:
refs/heads/master - Owner: https://github.com/nbr23
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bf15a0948bad68a885c69505a5a4b819fb3e6c2d -
Trigger Event:
push
-
Statement type: