Перейти к содержанию
100% локально

Парсер переменных Terraform

Перечислите каждый блок переменных в файле Terraform с его типом, значением по умолчанию и статусом обязательности.

Входные данные
Выходные данные

Парсер переменных Terraform

Вставьте код Terraform (HCL) и этот инструмент сканирует каждый блок `variable` и выводит его имя, тип, описание, значение по умолчанию, статус обязательности и чувствительности. Он помогает когда вы унаследовали модуль с десятками переменных без документации или вам нужен контрольный список того, что требует корневой модуль перед запуском.

Выберите формат результата с помощью опции вывода: таблица для быстрого обзора, файл tfvars который можно сразу поместить в рабочий каталог, или документация Markdown готовая вставить в README. "Только обязательные переменные" ограничивает список теми которых нет значения по умолчанию это кратчайший путь узнать что именно вам нужно указать. "Включить чувствительные переменные" позволяет опустить все отмеченные `sensitive = true` когда вы создаете что-то что можете поделиться.

Отсортируйте по имени или сохраните порядок появления переменных в файле и переключайте формат значений между нативным синтаксисом HCL и JSON с помощью опции формата значений.

Вывод tfvars может предзаполнить каждую строку значением по умолчанию переменной или оставить каждую закомментированной как шаблон который вы заполняете вручную полезно когда нужна стартовая точка без молчаливой передачи значений. Описания типы и выражения вложенных типов как `object({...})` читаются как есть парсер не вычисляет выражения Terraform поэтому значение ссылающееся на другую переменную или функцию показывается исходным выражением а не вычисленным значением.

Все работает локально в браузере ваш код Terraform включая имена переменных и значения никогда не загружаются никуда. Скопируйте результат загрузите как файл .txt или отправьте вывод назад на вход для продолжения доработки.

FAQ

Какие конструкции Terraform она понимает?
Она ищет специально блоки `variable "name" { ... }` и читает их атрибуты `type`, `description`, `default` и `sensitive`. Типы ресурсов, модули, выходы и другие типы блоков пропускаются, а вложенные блоки как `validation` внутри переменной игнорируются.
Как она определяет является ли переменная обязательной?
Переменная считается обязательной когда её блок вообще не имеет атрибута `default` это то же правило которое Terraform использует чтобы потребовать значение от вызывающей стороны.
Вычисляет ли она выражения в значениях по умолчанию?
Нет. Значение по умолчанию которое является простым литералом (строка число логический тип список или карта) преобразуется в это значение всё остальное например ссылка на другую переменную или вызов функции показывается ровно как написано.
В чем разница между выводами tfvars и Markdown?
Вывод tfvars это файл-шаблон с назначениями `name = value` и комментариями готовый сохранить как файл `.tfvars`. Вывод Markdown это документация в виде текста одно заголовок на переменную с её типом требованием и значением по умолчанию указанными ниже предназначена для README или страницы вики.
Загружается ли мой код Terraform куда-нибудь?
Нет. Извлечение работает полностью в вашем браузере ваш код Terraform включая все имена переменных или значения которые вы считаете конфиденциальными никогда не покидают ваше устройство.