HCL în JSON
Convertiți configurația HCL în stil Terraform în JSON echivalent.
HCL în JSON
Lipiți HCL — limbajul pe care îl folosesc Terraform, Packer și alte instrumente HashiCorp — și acest convertor returnează JSON-ul echivalent. Tratează formele comune ale unui fișier .tf real: atribute la nivel superior și blocuri cu zero sau mai multe etichete de șir, cum ar fi resource "aws_instance" "web", imbricate în alte blocuri la fel de adânc cât merge configurația dumneavoastră. Blocurile etichetate sunt convertite folosind aceeași convenție pe care o folosește sintaxa .tf.json din Terraform, deci o resursă cu un tip și un nume ajunge sub resource → type → name în rezultat, iar blocurile repetate pe același traseu — două blocuri ingress într-o resursă, să spunem — devin o matrice JSON în loc să se suprascrie una pe alta.
Şirurile, numerele, booleanul, null, listele și literalii de obiecte inline (tags = { Name = "web" }) se convertesc cu ușurință. Șirurile heredoc (<<EOT ... EOT și forma indentată <<-EOT) devin șiruri JSON simple cu salturi de linie păstrate, iar interpolările ${var.name} — alături de referințe directe ca var.region sau un apel ca merge(a, b) — rămân ca text literal în loc să fie evaluate, deoarece nicio unealtă de browser nu poate rezolva variabilele Terraform sau furnizorii.
Opțiunile acoperă lățimea indentării (2 spații, 4 spații, tabulații sau minificat), sortarea alfabetică a cheilor, păstrarea sau renunțarea la comentarii, și alegerea între un obiect JSON îmbinat sau o listă simplă de blocuri — fiecare cu tipul, etichetele și corpul acestuia — pentru scripturi mai ușoare. Cheile de atribut duplicate într-un bloc sunt marcate în contor în timp real, mai degrabă decât să fie tăcere eliminate, iar terminațiile de linie Windows și Unix sunt ambele acceptate.
Tot se execută local în browser — configurația dumneavoastră nu este niciodată încărcată, ceea ce contează atunci când denumește resurse reale, IP-uri sau ID-uri de cont. Copiați JSON-ul, descărcați ca fișier .txt sau trimiteți-l direct altei unelte pentru a continua lucrul.