2017-08-07 4 views
0

J'ai un modèle dans ma config terraform à laquelle j'écris les valeurs d'une variable comme ceci:Terraform Variables conditionnelles

data "template_file" "config" { 
    template = "${file("${path.module}/templates/${var.json_config}")}" 

    vars { 
    is_enabled = "${var.is_enabled}" 
    } 
} 

Maintenant is_enabled est une chaîne booléenne qui est soit réglé sur true ou false. Maintenant, si c'est vrai ou faux, je veux définir une autre variable. En pseudocode il ressemblerait à ceci:

si is_enabled == true chemin =/un/chemin/ autre path =/autre/chemin

J'ai eu un coup d'œil à la conditional values, mais il semble être pour élever des ressources. Comment est-ce que j'utiliserais ceci pour placer une variable dans un fichier modèle?

Répondre

1

Les modèles utilisent la même syntaxe d'interpolation que toutes les autres chaînes de Terraform. Documentation is available

Donc, dans votre cas, il ressemblera à ceci:

path = ${is_enabled ? "/one/path/" : "/another/path"} 
+0

devrait être 'var.is_enabled' – BMW

+0

@BMW fait non, car cela est modèle, pas terraformer ressource. – Hauleth