HCL naar JSON
Terraform-configuratie in HCL-indeling naar gelijkwaardig JSON converteren.
HCL naar JSON
Plak HCL — de taal die Terraform, Packer en andere HashiCorp-tools gebruiken — en deze converteraar geeft de overeenkomstige JSON terug. Het verwerkt de alledaagse structuren van een echte .tf-bestand: attributen op het hoogste niveau en blokken met nul of meer tekenreeks-labels zoals resource "aws_instance" "web", genest in andere blokken zo diep als nodig. Gelabelde blokken worden geconverteerd met behulp van dezelfde conventie die Terraforms eigen .tf.json-syntaxis gebruikt, dus een resource met een type en naam belandt onder resource → type → name in het resultaat, en herhaalde blokken op hetzelfde pad — bijvoorbeeld twee ingress-blokken in één resource — worden een JSON-array in plaats van elkaar te overschrijven.
Tekenreeksen, getallen, booleaanse waarden, null, lijsten en inline objectliteralen (tags = { Name = "web" }) worden rechtstreeks geconverteerd. Heredoc-tekenreeksen (<<EOT ... EOT en de ingesprongen vorm <<-EOT) worden normale JSON-tekenreeksen met behouden regelafbrekingen, en ${var.name}-interpolaties — evenals bare referenties zoals var.region of oproepen zoals merge(a, b) — blijven als letterlijke tekst in plaats van te worden geëvalueerd, omdat geen browsertool Terraform-variabelen of providers kan oplossen.
Opties omvatten inspringingsbreedte (2 spaties, 4 spaties, tabs of geminificeerd), alfabetisch sorteren van sleutels, opmerkingen behouden of verwijderen, en kiezen tussen één samengevoegd JSON-object of een vlakke lijst met blokken — elk met zijn type, labels en body — voor gemakkelijker scripting. Dubbele attribuutsleutels in een blok worden gemarkeerd in de live-tally in plaats van stilzwijgend te worden verwijderd, en zowel Windows- als Unix-regelafbrekingen worden geaccepteerd.
Alles wordt lokaal in uw browser uitgevoerd — uw configuratie wordt nooit geüpload, wat van belang is wanneer deze echte bronnen, IP's of account-ID's bevat. Kopieer de JSON, download deze als .txt-bestand, of stuur deze rechtstreeks naar een ander hulpprogramma om door te werken.