Comment puis-je obtenir un Ansible modèle à l'honneur de nouvelles lignes après un conditionnel
Le modèle ressemble à ceci:
solr.replication.master=
{% if ansible_eth0.ipv4.address == servermaster.eth0 %}
false
{% else %}
true
{% endif %}
solr.replication.slave=false
Et la sortie devrait ressembler à ceci:
solr.replication.master=true
solr.replication.slave=false
Ce que je suis réellement obtenir est:
solr.replication.master=truesolr.replication.slave=false
Je comprends que Jinja2 bandes espaces, et que ansible est probablement la configuration par défaut. Mais il ne semble pas à l'honneur -/+ espace balises.
Est-il un moyen de forcer un saut de ligne?
Vous devez vous connecter pour publier un commentaire.
Ajoutez la ligne suivante à votre modèle lors de la première position:
Google m'a amené ici, afin de quitter cette réponse pour la prospérité du saké.
Comme vous l'avez mentionné
-/+
espaces balises ne sont pas respectés, ni ligne de macros activé (au moins pas%%
ou#
ou##
).trim_blocks
est activé dans ansible. La seule chose que j'ai trouvé qui fonctionne, c'est quetrim_blocks
ignore uniquement le premier caractère de saut de lignePour votre exemple, il suffit d'ajouter un saut de ligne doit être suffisante
J'ai eu le même problème. Je l'ai résolu en ajoutant
à la fin de la ligne, par exemple:
Ce insère un littéral de chaîne vide, avec l'effet secondaire que l'espace blanc n'est pas dépouillé.
Je crois à l'aide d'un
ternary
filtre peut aider.Comme solution de contournement, vous pouvez ajouter à votre modèle