# Terraform Plan 可视化器

解析 Terraform plan 的 JSON 或文本输出，对资源变化分类，并在 apply 前展示依赖导向的摘要报告

> 标准页面: https://elysiatools.com/zh/tools/terraform-plan-visualizer

- **分类:** Development

- **关键词:** terraform, plan, 基础设施, 依赖图, devops

## 概述

粘贴通过 "terraform show -json" 导出的 Terraform plan JSON，或直接粘贴文本 plan。工具会把资源分成 create、update、delete、replace、read 和 no-op，并按 provider 与依赖关系做摘要。

使用说明：
- Terraform Plan 输入：粘贴原始 plan JSON 或文本
- Plan 文件：上传保存好的 plan 文件
- 输入格式：选 auto 时自动识别 JSON 或文本
- 显示依赖图：为前几组依赖边绘制一个轻量图

如果你希望拿到最完整的 provider、依赖与动作信息，优先使用 Terraform JSON。

## 输入项

- **Terraform Plan 输入** (textarea): { "resource_changes": \[...\] }
- **Plan 文件** (file)
- **输入格式** (select)
- **显示依赖图** (checkbox)

## 适用场景

- 在执行 `terraform apply` 前需要进行代码审查（Code Review），确保基础设施变更符合预期时。
- 当 Terraform Plan 输出内容过长，难以通过终端纯文本快速识别关键资源（如数据库、VPC）的删除或替换操作时。
- 需要向非技术团队或管理层展示基础设施变更摘要及资源依赖关系时。

## 工作原理

- 将 Terraform Plan 的 JSON 数据或纯文本直接粘贴到输入框，或上传保存好的 `.json` / `.txt` 文件。
- 工具会自动识别输入格式（也可手动指定），并解析其中的资源变更动作（Create、Update、Delete、Replace 等）。
- 提取 Provider 信息和资源间的依赖关系，若勾选“显示依赖图”，则会为核心依赖边绘制轻量级网络图。
- 最终生成一份结构化的 HTML 摘要报告，按操作类型和 Provider 清晰展示所有即将发生的基础设施变更。

## 使用案例

- 核心网络架构调整：在修改 VPC、子网或路由表时，通过依赖图确认安全组和网关的变更顺序。
- 敏感资源保护：在 CI/CD 流程中，通过可视化面板快速排查是否有意外的数据库实例或存储桶被标记为“Delete”或“Replace”。
- 多 Provider 部署审查：当一次部署涉及 AWS、Datadog 和 Kubernetes 多个 Provider 时，按 Provider 分类查看变更摘要。

## 常见问题

### 为什么推荐使用 JSON 格式而不是纯文本？

JSON 格式（通过 `terraform show -json` 生成）包含了更完整的资源元数据、明确的依赖关系边以及更规范的动作标签，解析结果比纯文本更准确丰富。

### 这个工具会保存我的 Terraform Plan 数据吗？

不会。所有解析和可视化处理均在浏览器本地或单次请求中完成，不会持久化存储您的基础设施敏感数据。

### 支持哪些 Terraform 版本？

支持解析标准 Terraform 生成的 Plan 输出，特别是包含 `resource_changes` 结构的 JSON 格式（如 format_version 1.1/1.2）。

### 依赖图能展示所有资源吗？

为了保证渲染性能和图表的可读性，依赖图主要为前几组核心依赖边绘制轻量级网络，适合快速查看主干架构关系。

### 纯文本解析支持哪些动作识别？

纯文本解析支持识别标准的符号标识，如 `+` (create)、`-` (delete)、`~` (update)、`-/+` (replace) 以及 `<=` (read)。

## 相关工具

- [结构化日志解析器](https://elysiatools.com/zh/tools/structured-log-analyzer): 自动识别常见日志格式，提取核心字段并推断字段类型，支持导出为 JSON、CSV 或 SQL。
- [数据集不平衡检测与重采样](https://elysiatools.com/zh/tools/dataset-imbalance-detector-resampler): 检测 CSV 或 JSON 数据集中的类别不平衡，对比重采样策略，并预览平衡后的输出数据集
- [JSON 路径可视化器](https://elysiatools.com/zh/tools/json-path-visualizer): 将 JSON 或 JSONL 以可展开树形结构展示，并为每个节点生成可复制的 JSONPath 表达式
- [OCR PDF 转结构化 JSON 桥](https://elysiatools.com/zh/tools/ocr-pdf-to-structured-json-bridge): 按几何结构抽取 PDF 文本层（y 坐标分行、列间隙识表、字号识标题、冒号键值对），然后逐字段填入用户提供的 JSON Schema——标签按归一化键名匹配、值按声明类型归一化，并用 ajv 校验。
- [播客章节标记生成器（ID3 / Podcasting 2.0）](https://elysiatools.com/zh/tools/podcast-chapter-marker-builder): 粘贴时间码章节列表，一次生成全部交付格式：Podcasting 2.0 章节 JSON（v1.2.0）与 RSS podcast:chapters 标签、可选把 ID3v2.4 CHAP+CTOC 章节帧直接烧入上传的 MP3（毫秒为普通大端 uint32、偏移 0xFFFFFFFF、每章嵌 TIT2 子帧、保留原有标签帧）、Vorbis CHAPTER001 注释对（OGG/Opus）、mp4chaps 文本、YouTube 说明栏时间戳块与 SRT 副车文件，并附各播放器真实支持情况（Apple 自 2025 起支持 RSS JSON；Pocket Casts/Overcast 仅读内嵌 ID3；Spotify 两者都不读）。
- [时间序列异常检测器](https://elysiatools.com/zh/tools/time-series-anomaly-detector): 上传 CSV 或 JSON 时间序列数据，基于 Z-Score 和 IQR 检测异常点，并输出带图表的报告
- [训练/测试集分层切分器](https://elysiatools.com/zh/tools/train-test-split-with-stratification): 读取 CSV/JSON 数据集,按目标列做分层抽样的 train/validation/test 切分(默认 70/15/15,随机种子可复现),或分层 k 折交叉验证;输出每折类别分布报告与偏差条、重复行泄漏检查、SMOTE 过采样预览(仅在训练折上做最近邻插值),并可导出各折 CSV 为 ZIP。
- [SBOM SPDX / CycloneDX 许可证策略审计器](https://elysiatools.com/zh/tools/sbom-spdx-cyclonedx-license-policy-auditor): 审计 SPDX 2.3 或 CycloneDX 1.5 组件许可证，输出 SARIF 和失败依赖链

## 示例

- [Terraform Plan JSON 样本](https://elysiatools.com/zh/samples/terraform-plan-json-samples): 用于依赖可视化和变更审查的 Terraform plan JSON 文件样本，贴近 terraform show -json 输出结构
- [分布式追踪示例](https://elysiatools.com/zh/samples/distributed-tracing-samples): 使用 Jaeger、OpenTelemetry 和其他现代可观测性工具的综合分布式追踪示例，适用于微服务架构
- [JWT 示例](https://elysiatools.com/zh/samples/jwt-samples): 从基础令牌结构到高级安全实现的全面JWT示例
- [PDF示例](https://elysiatools.com/zh/samples/pdf-samples): 2026-02-01 到 2026-02-10 工具生成的PDF示例
