Перейти к основному содержанию

Конвертер HCL в JSON

API reference

Преобразуйте конфигурацию HCL из Terraform в эквивалентное представление JSON по документированному в Terraform соответствию синтаксиса JSON — вложенные блоки, метки, повторяющиеся блоки, списки, карты и heredoc. Нелитеральные выражения (ссылки, вызовы функций) сохраняются как строки интерполяции `${...}`. Работает полностью в вашем браузере.

Ввод

Drop a file or browse
One file · text
Или

Вывод

Результат JSON
 
Это было полезно?

Другие способы использовать этот инструмент

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. Конвертация происходит по мере ввода, без загрузки на сервер и без регистрации.

Как пользоваться

  1. Вставьте код Terraform (.tf) в поле ввода или загрузите файл — его содержимое сразу появится в редакторе.
  2. Выберите размер отступа (2 пробела, 4 пробела или минифицированный) в разделе параметров.
  3. Результат в JSON появится справа мгновенно, с подсветкой синтаксиса.
  4. Скопируйте его или скачайте как файл .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, если нужно только выровнять отступы и порядок аргументов без смены формата.

terraformhcljsontf.jsoninfrastructure as codeiacdevopsconfighcl2json

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.