HCL vers JSON
Convertissez la configuration HCL de style Terraform en JSON équivalent.
HCL vers JSON
Collez du HCL — le langage utilisé par Terraform, Packer et autres outils HashiCorp — et ce convertisseur retourne le JSON équivalent. Il gère les formes courantes d'un vrai fichier .tf : attributs de niveau supérieur et blocs avec zéro ou plusieurs étiquettes de chaîne telles que resource "aws_instance" "web", imbriqués dans d'autres blocs aussi profonds que votre configuration le demande. Les blocs étiquetés se convertissent en utilisant la même convention que la syntaxe .tf.json de Terraform elle-même, donc une ressource avec un type et un nom aboutit sous resource → type → name dans le résultat, et les blocs répétés au même chemin — deux blocs ingress dans une ressource, disons — deviennent un tableau JSON au lieu de s'écraser mutuellement.
Les chaînes, nombres, booléens, null, listes et objets littéraux en ligne (tags = { Name = "web" }) se convertissent directement. Les chaînes heredoc (<<EOT ... EOT et la forme indentée <<-EOT) deviennent des chaînes JSON simples avec leurs sauts de ligne conservés, et les interpolations ${var.name} — ainsi que les références simples comme var.region ou un appel comme merge(a, b) — restent comme du texte littéral plutôt que d'être évaluées, puisque aucun outil navigateur ne peut résoudre les variables ou fournisseurs de Terraform.
Les options couvrent la largeur d'indentation (2 espaces, 4 espaces, tabulations ou minifié), tri alphabétique des clés, conservation ou suppression des commentaires, et choix entre un objet JSON fusionné unique ou une liste plate de blocs — chacun avec son type, ses étiquettes et son corps — pour un scripting plus facile. Les clés d'attributs dupliquées dans un bloc sont signalées dans le total en direct plutôt que d'être silencieusement supprimées, et les fins de ligne Windows et Unix sont toutes deux acceptées.
Tout fonctionne localement dans votre navigateur — votre configuration n'est jamais téléchargée, ce qui importe quand elle nomme de vraies ressources, adresses IP ou identifiants de compte. Copiez le JSON, téléchargez-le en tant que fichier .txt, ou envoyez-le directement à un autre outil pour continuer à travailler.