Конвертер HCL в JSON
Преобразуйте конфигурацию HCL из Terraform в эквивалентное представление JSON по документированному в Terraform соответствию синтаксиса JSON — вложенные блоки, метки, повторяющиеся блоки, списки, карты и heredoc. Нелитеральные выражения (ссылки, вызовы функций) сохраняются как строки интерполяции `${...}`. Работает полностью в вашем браузере.
Ввод
Вывод
Другие способы использовать этот инструмент
REST API
curl -X POST https://api.iotools.cloud/v1/tool/hcl-to-json-converter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hclSource": "resource \"aws_instance\" \"web\" {\n ami …",
"indent": "2"
}'Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.
Спросите у ИИ-агента
Use the IOTools `hcl-to-json-converter` tool (HCL to JSON Converter) on this input:
YOUR_INPUT_HEREВставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.
Виджет для встраивания
<iframe
src="https://iotools.cloud/embed/hcl-to-json-converter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Конвертер HCL в JSON — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.
| Стоимость вызова API/MCP | От 5 кредитов |
|---|---|
| Нужно больше кредитов? | Посмотреть тарифы |
Также доступно через
Руководства
Вставьте HCL (HashiCorp Configuration Language) из Terraform и получите эквивалентное представление в JSON — ту же структуру, которую Terraform использует для файлов .tf.json. Вложенные блоки, метки блоков, повторяющиеся блоки, списки, карты и heredoc конвертируются по документированному в Terraform соответствию синтаксиса JSON. Конвертация происходит по мере ввода, без загрузки на сервер и без регистрации.
Как пользоваться
- Вставьте код Terraform (
.tf) в поле ввода или загрузите файл — его содержимое сразу появится в редакторе. - Выберите размер отступа (2 пробела, 4 пробела или минифицированный) в разделе параметров.
- Результат в JSON появится справа мгновенно, с подсветкой синтаксиса.
- Скопируйте его или скачайте как файл
.tf.json.
Имя типа блока становится ключом объекта JSON. Каждая метка блока (у resource "aws_instance" "web" их две: тип и имя) вкладывает ещё один уровень объекта JSON. Тип блока, который повторяется без меток (два блока network_interface { ... } в одном ресурсе), превращается в массив JSON, содержащий тела этих блоков. Списки ([...]), встроенные карты ({...}) и строки heredoc (<<EOF ... EOF, <<-EOF ... EOF) конвертируются в их прямые эквиваленты в JSON.
Что происходит со ссылками и вызовами функций, например var.instance_type или data.aws_ami.ubuntu.id?
Всё, что не является литеральным значением — ссылка на переменную, ссылка на атрибут ресурса, вызов функции, арифметическое или логическое выражение, выражение for вроде [for s in var.list : s.id] — оборачивается в строку JSON с тем же синтаксисом интерполяции ${...}, который Terraform использует для выражений внутри обычной строки. Так же вы записали бы это выражение вручную в настоящем файле .tf.json, и именно это Конвертер JSON в HCL — парный инструмент — распаковывает обратно в исходное выражение.
Отличает ли инструмент блок от атрибута-карты?
Не с уверенностью — и никакой инструмент без схемы вашего провайдера этого бы не смог. Вложенный блок без меток (например, lifecycle { create_before_destroy = true }) и литеральный атрибут-карта (например, tags = { Name = "web" }) оба превращаются в обычный объект JSON по этому ключу, поскольку именно так синтаксис JSON в Terraform и представляет оба случая. Terraform различает их только во время применения, используя схему типа ресурса. У этого конвертера такой схемы нет, поэтому он выдаёт структурный JSON в любом случае — и это именно то, что нужно, чтобы посмотреть или сравнить форму конфигурации.
Приватна ли моя конфигурация Terraform?
Полностью. Токенизация, разбор и конвертация выполняются локально в вашем браузере — ваш исходный HCL, включая любые секреты или имена хостов, никогда не отправляется на сервер.
Нужно обратное преобразование или просто отформатировать HCL?
Используйте Конвертер JSON в HCL, чтобы перевести JSON Terraform обратно в нативный синтаксис, или Terraform Formatter, если нужно только выровнять отступы и порядок аргументов без смены формата.