Search code examples
loopsif-statementjinja2

jinja : using variable from for loop inside an if statement


I am trying to use a variable in a "if" statement, this variable is defined in a for loop, but I cannot get it to work, here is the code excerpt:

{% for dir in ['temp','backup','sbin','logs','apps'] %}
  {% if {{ dir }} == 'temp' %}
    /tree/{{ dir }}:
      file.directory:
      - user: user1
      - group: user1
      - mode: 1777
      - makedirs: True
  {% endif %}
  /tree/{{ dir }}:
    file.directory:
      - user: root
      - group: root
      - mode: 755
      - makedirs: True
{% endfor %}

I think the code is self explanatory, if not please ask!

I know my code is not the best looking one, if you have any advice, I'd be happy to take them!


Solution

  • Just {% if dir == 'temp' %} would be correct.

    EDIT: Typo fixed :)