HCL v JSON
Pretvori HCL konfiguraciju v Terraform slogu v enakovreden JSON.
HCL v JSON
Prilepite HCL — jezik, ki ga uporabljajo Terraform, Packer in druga orodja HashiCorp — in ta pretvornik vrne enakovredni JSON. Obdeluje običajne oblike iz prave datoteke .tf: atribute na najvišji ravni in bloke z ničelnim ali več stringovnimi oznakami, kot je resource "aws_instance" "web", ugniježđene v drugih blokih, kolikor je globoka vaša konfiguracija. Označeni bloki se prevedejo z isto konvencijo, kot jo uporablja Terraform-ova lastna sintaksa .tf.json, tako da se vir s tipom in imenom nahaja pod resource → type → name v rezultatu, ponavljajoči bloki na isti poti — dva ingress bloka v enem viru, recimo — pa postanejo JSON niz namesto da se medsebojno prepišejo.
Nizih, številke, Boolove vrednosti, null, seznami in vgrajeni objektni literali (tags = { Name = "web" }) se neposredno pretvorijo. Heredoc nizi (<<EOT ... EOT in vgnježđena oblika <<-EOT) postanejo navadni JSON nizi z ohranjenim prelomom vrstic, interpolacije ${var.name} — kot tudi gole reference, kot so var.region ali klic, kot je merge(a, b) — pa ostanejo kot dobesedni tekst namesto da bi bili ocenjeni, ker noben brskalnik ne more razrešiti Terraform spremenljivk ali ponudnikov.
Možnosti pokrivajo širino zamika (2 presledka, 4 presledki, tabulatorji ali minimizirano), razvrščanje ključev po abecedi, ohranitev ali zavrnitev komentarjev ter izbiro med enim združenega JSON objekta ali ravnega seznama blokov — vsakega z lastnim tipom, oznakami in telesom — za lažje skriptiranje. Podvojeni ključi atributov znotraj bloka so označeni v živi oceni namesto da bi bili tiho zavrženi, sprejemljivi pa so tudi preskoči vrstic Windows in Unix.
Vse se izvršava lokalno v vašem brskalniku — vaša konfiguracija se nikoli ne pošlje, kar je pomembno, ko imenuje prave vire, IP-naslove ali ID-je računa. Kopirajte JSON, ga prenesite kot datoteko .txt ali ga pošljite naravnost v drugo orodje za nadaljevanje dela.