Skip to content

Instantly share code, notes, and snippets.

@bovito
Forked from halberom/opt1_template.j2
Created July 17, 2018 16:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bovito/051659baab2b2959a3b8c2320e6ef436 to your computer and use it in GitHub Desktop.
Save bovito/051659baab2b2959a3b8c2320e6ef436 to your computer and use it in GitHub Desktop.
ansible - example of template if else
{# style 1 - long form #}
{% if filepath == '/var/opt/tomcat_1' %}
{% set tomcat_value = tomcat_1_value %}
{% else %}
{% set tomcat_value = tomcat_2_value %}
{% endif %}
{# style 2 - short form #}
{% set tomcat_value = tomcat_1_value if (filepath == '/var/opt/tomcat_1') else tomcat_2_value %}
{# style 3 - with ternary filter #}
{% set tomcat_value = (filepath == '/var/opt/tomcat_1')|ternary(tomcat_1_value, tomcat_2_value) %}
<Server port={{ tomcat_value }} shutdown="SHUTDOWN">
---
- hosts: foo
vars:
tomcat_1_value: 'bob'
tomcat_2_value: 'bar'
tasks:
# style 1 using filter
- set_fact:
tomcat_value: "{{ (filepath == '/var/opt/tomcat_1') | ternary(tomcat_1_value, tomcat_2_value) }}"
# style 2
- set_fact:
tomcat_value: "{{ tomcat_1_value if (filepath == '/var/opt/tomcat_1') else tomcat_2_value }}"
- template:
...
<Server port={{ tomcat_value }} shutdown="SHUTDOWN">
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment