HCL to JSON
Перетворіть конфігурацію HCL у стилі Terraform на еквівалент JSON.
HCL to JSON
Вставте HCL — мова, яку використовують Terraform, Packer та інші інструменти HashiCorp — і цей конвертер повернути еквівалент JSON. Він обробляє типові структури реального файлу .tf: атрибути верхнього рівня та блоки з нулем або кількома рядковими мітками, такі як resource "aws_instance" "web", вкладені в інші блоки на довільну глибину. Блоки з мітками перетворюються за допомогою угоди, яку сам Terraform використовує для синтаксису .tf.json, тому ресурс з типом і назвою розташовується під resource → type → name у результаті, а повторювальні блоки на одному шляху — два блоки ingress усередині одного ресурсу — стають масивом JSON замість перезапису один одного.
Рядки, числа, логічні значення, null, списки та вбудовані об'єкти (tags = { Name = "web" }) перетворюються безпосередньо. Heredoc-рядки (<<EOT ... EOT та відступна форма <<-EOT) стають звичайними JSON-рядками зі збереженими розривами рядків, а інтерполяції ${var.name} — разом із простими посиланнями на кшталт var.region або викликами функцій як merge(a, b) — залишаються буквальним текстом, оскільки браузер не може розрішити змінні Terraform чи провайдери.
Опції охоплюють ширину відступу (2 пробіли, 4 пробіли, табуляції або мініфіцирований вид), сортування ключів по алфавіту, збереження або видалення коментарів та вибір між одним об'єднаним об'єктом JSON або плоским списком блоків — кожен з типом, мітками та вмістом — для зручнішого написання скриптів. Дублюючи ключі атрибутів усередині блоку відмічаються в живому лічильнику, а не мовчки видаляються, і підтримуються як Windows, так і Unix переводи рядків.
Усе працює локально у вашому браузері — ваша конфігурація ніколи не завантажується, що важливо, коли вона містить назви реальних ресурсів, IP-адреси або ID облікових записів. Скопіюйте JSON, завантажте його як файл .txt або відправте прямо в інший інструмент, щоб продовжити роботу.