Визуализатор Terraform Plan

Разбирает Terraform plan в JSON или текстовом виде, классифицирует изменения и показывает сводку по зависимостям

Вставьте Terraform plan JSON из "terraform show -json" или обычный текстовый plan. Инструмент распределяет ресурсы по create, update, delete, replace, read и no-op, затем показывает влияние по провайдерам и зависимостям.

Как использовать:

  • Ввод Terraform Plan: вставьте JSON или текст
  • Файл плана: загрузите сохраненный файл
  • Формат ввода: auto для автоматического определения
  • Показывать граф зависимостей: строит легкий граф по первым найденным связям

Наиболее точная картина получается из Terraform JSON, потому что там есть метаданные и зависимости.

Примеры результатов

1 Примеры

Проверить apply с VPC и политиками

JSON-план помогает быстро увидеть новые, заменяемые и обновляемые ресурсы.

Terraform Plan Summary
Показать параметры ввода
{ "planInput": "{\n \"format_version\": \"1.2\",\n \"resource_changes\": [\n {\n \"address\": \"aws_vpc.main\",\n \"mode\": \"managed\",\n \"type\": \"aws_vpc\",\n \"name\": \"main\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"create\"\n ]\n }\n },\n {\n \"address\": \"aws_subnet.app\",\n \"mode\": \"managed\",\n \"type\": \"aws_subnet\",\n \"name\": \"app\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"create\"\n ]\n }\n },\n {\n \"address\": \"aws_iam_policy.read\",\n \"mode\": \"managed\",\n \"type\": \"aws_iam_policy\",\n \"name\": \"read\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"update\"\n ]\n }\n },\n {\n \"address\": \"aws_security_group.web\",\n \"mode\": \"managed\",\n \"type\": \"aws_security_group\",\n \"name\": \"web\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"delete\",\n \"create\"\n ]\n }\n }\n ],\n \"configuration\": {\n \"root_module\": {\n \"resources\": [\n {\n \"address\": \"aws_vpc.main\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": []\n },\n {\n \"address\": \"aws_subnet.app\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": [\n \"aws_vpc.main\"\n ]\n },\n {\n \"address\": \"aws_iam_policy.read\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": [\n \"aws_vpc.main\"\n ]\n },\n {\n \"address\": \"aws_security_group.web\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": [\n \"aws_vpc.main\",\n \"aws_subnet.app\"\n ]\n }\n ]\n }\n }\n}", "planFile": "", "inputFormat": "json", "showDependencyGraph": true }

Click to upload file or drag and drop file here

Maximum file size: 15MB Supported formats: application/json, text/plain, application/octet-stream, .json, .txt

Ключевые факты

Категория
Разработка и Web
Типы входных данных
textarea, file, select, checkbox
Тип результата
html
Покрытие примерами
4
API доступен
Yes

Обзор

Визуализатор Terraform Plan — это удобный инструмент для анализа изменений инфраструктуры перед их применением. Он принимает вывод команды terraform plan в формате JSON или обычного текста, автоматически классифицирует ресурсы по типам действий (создание, обновление, удаление, замена) и строит наглядный граф зависимостей для безопасного и предсказуемого деплоя.

Когда использовать

  • Перед выполнением terraform apply для проверки масштабных изменений в инфраструктуре и предотвращения ошибок.
  • При код-ревью (Pull Request), чтобы быстро оценить влияние нового кода на существующие облачные ресурсы.
  • Для аудита безопасности и выявления непреднамеренного удаления или замены критически важных компонентов.

Как это работает

  • Вставьте вывод terraform show -json или текстовый лог плана в поле ввода, либо загрузите готовый файл с планом.
  • Выберите формат ввода (JSON или текст) или оставьте значение auto для автоматического определения формата.
  • Включите опцию «Показывать граф зависимостей», чтобы визуализировать связи между ресурсами.
  • Инструмент сгенерирует HTML-отчет со сводкой по провайдерам, типам действий и графом зависимостей.

Сценарии использования

Анализ сложного плана с десятками изменений в AWS VPC, подсетях и политиках IAM.
Быстрая проверка того, какие ресурсы будут уничтожены (destroy) при применении конфигурации.
Визуализация связей между модулями Terraform для понимания порядка создания ресурсов.

Примеры

1. Проверка создания сетевой инфраструктуры

DevOps-инженер
Контекст
Инженер добавил новый VPC, подсети и Security Group, и хочет убедиться, что старые ресурсы не будут затронуты.
Проблема
В текстовом логе на сотни строк сложно быстро найти удаляемые или заменяемые ресурсы.
Как использовать
Сгенерировать JSON-план через terraform show -json, вставить его в поле «Ввод Terraform Plan» и включить граф зависимостей.
Пример конфигурации
Формат ввода: json, Показывать граф зависимостей: true
Результат
Инструмент показывает четкую сводку: 3 ресурса на создание (create), 1 на обновление (update) и 0 на удаление. Граф отображает, что Security Group зависит от VPC.

2. Ревью изменений базы данных

Системный администратор
Контекст
Коллега прислал текстовый файл с выводом terraform plan для изменения параметров RDS.
Проблема
Нужно убедиться, что изменение инстанса БД не приведет к его пересозданию (replace), что вызовет простой сервиса.
Как использовать
Загрузить файл plan.txt через поле «Файл плана», выбрать формат auto и проанализировать сводку.
Пример конфигурации
Файл плана: plan.txt, Формат ввода: auto
Результат
В отчете сразу видно, попадает ли ресурс базы данных в категорию update (безопасно) или replace (опасно).

Проверить на примерах

json, text, file

Связанные хабы

FAQ

Какой формат плана лучше использовать?

Рекомендуется использовать JSON (сгенерированный через terraform show -json), так как он содержит точные метаданные и полные связи зависимостей, что делает визуализацию более детальной.

Поддерживается ли обычный текстовый вывод Terraform?

Да, инструмент умеет парсить стандартный текстовый вывод команды terraform plan, однако граф зависимостей в этом случае может быть менее подробным.

Безопасно ли загружать сюда мой Terraform plan?

Да, инструмент обрабатывает предоставленные данные на лету для генерации отчета и не сохраняет вашу инфраструктурную конфигурацию.

Что означают разные категории в отчете?

Ресурсы делятся на действия: create (создание), update (обновление), delete (удаление), replace (замена), read (чтение) и no-op (без изменений).

Можно ли отключить построение графа?

Да, вы можете снять галочку «Показывать граф зависимостей», если ваш план содержит слишком много ресурсов и вам нужна только текстовая сводка.

Документация API

Конечная точка запроса

POST /ru/api/tools/terraform-plan-visualizer

Параметры запроса

Имя параметра Тип Обязательно Описание
planInput textarea Нет -
planFile file (Требуется загрузка) Нет -
inputFormat select Нет -
showDependencyGraph checkbox Нет -

Параметры типа файл должны быть загружены сначала через POST /upload/terraform-plan-visualizer для получения filePath, затем filePath должен быть передан в соответствующее поле файла.

Формат ответа

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-terraform-plan-visualizer": {
      "name": "terraform-plan-visualizer",
      "description": "Разбирает Terraform plan в JSON или текстовом виде, классифицирует изменения и показывает сводку по зависимостям",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=terraform-plan-visualizer",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Поддерживает ссылки на файлы URL или кодирование Base64 для параметров файла.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]