Summarise a Terraform plan and name everything it would destroy
Summarise a Terraform plan and name everything it would destroy. A replacement is expressed as a create and a delete together, so reading only the first action would report a destroy and recreate as a plain create; replacements are classified as such. Counts changes by action and by resource type, and reports a destroy or replacement of any resource type or address you declare protected.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://api.zfinia.com/x402/v1/terraform-plan-change-summary
| Category | Search and research |
|---|---|
| Provider host | api.zfinia.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"plan": {
"format_version": "1.2",
"resource_changes": [
{
"address": "aws_db_instance.primary",
"change": {
"actions": [
"delete",
"create"
],
"replace_paths": [
[
"engine_version"
]
]
},
"type": "aws_db_instance"
},
{
"address": "aws_s3_bucket.audit_logs",
"change": {
"actions": [
"delete"
]
},
"type": "aws_s3_bucket"
},
{
"address": "module.networking.aws_vpc.main",
"change": {
"actions": [
"delete",
"create"
]
},
"module_address": "module.networking",
"type": "aws_vpc"
},
{
"address": "aws_iam_role.task",
"change": {
"actions": [
"update"
]
},
"type": "aws_iam_role"
},
{
"address": "aws_cloudwatch_log_group.app",
"change": {
"actions": [
"create"
]
},
"type": "aws_cloudwatch_log_group"
},
{
"address": "aws_security_group.app",
"change": {
"actions": [
"no-op"
]
},
"type": "aws_security_group"
}
],
"terraform_version": "1.9.5"
},
"protected_addresses": [
"module.networking"
],
"protected_types": [
"aws_db_instance",
"aws_s3_bucket"
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"plan": {
"type": "object"
},
"protected_addresses": {
"items": {
"maxLength": 512,
"type": "string"
},
"maxItems": 500,
"minItems": 1,
"type": "array"
},
"protected_types": {
"items": {
"maxLength": 128,
"type": "string"
},
"maxItems": 200,
"minItems": 1,
"type": "array"
}
},
"required": [
"plan"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}