En Terraform je peux utiliser:Terraform - entre guillemets intégré
name = "${var.names["apple"])"
qui recherche la chaîne "pomme" dans var.names
.
Cependant, cette syntaxe casserait dans la plupart des langages de programmation car elle essayerait d'analyser "${var.names["
puis apple
puis "])"
.
J'ai recherché de la documentation à ce sujet mais je n'ai rien trouvé. Y a-t-il des détails?
J'ai lu:
https://www.terraform.io/docs/configuration/syntax.html et https://www.terraform.io/docs/configuration/interpolation.html
Le dernier lien donne brièvement un exemple
template = "${file("templates/web_init.tpl")}"
mais n'explique pas.
Que demandez-vous réellement? Comment ils peuvent faire ce travail? Je suppose que c'est juste leur analyseur, qui suppose que je recherche $ {..} 'sur toute autre chose, puis fonctionne vers l'extérieur –
Je pensais avoir été assez clair -> Y a-t-il des détails sur cette syntaxe? C'est un peu gênant d'avoir à deviner la syntaxe quand c'est en fait très anti-intuitif étant donné que la syntaxe casserait dans la plupart des langages de programmation. – Snowcrash
Bon, je suis d'accord avec vous - j'ai l'impression de lutter contre la syntaxe la plupart du temps. Sur votre second lien, il dit _ "Embedded dans les chaînes de Terraform, que vous utilisiez la syntaxe Terraform ou la syntaxe JSON, vous pouvez interpoler d'autres valeurs .Ces interpolations sont enveloppées dans $ {}, comme $ {var.foo }. "_ Je suppose couplé avec le fait que ces interpolations peuvent alors contenir des variables de la carte, etc, mais en quelque sorte l'expliquer, mais pas très explicitement –