как использовать условие elif и else jinja в том же выражении в ansible - PullRequest
0 голосов
/ 29 октября 2018

Ниже моя часть моего метафайла в ansible.

---
dependencies:
- { role: nomad-agent,
      nomad_agent_type: client,
      client_dc: "{{ 'jira' if 'jira-app' in host_name else host_env }}",
      nomad_servers: ["{{ nomad1_ip }}","{{ nomad2_ip }}","{{ nomad3_ip }}"],
      tags: "nomad-agent"
  }

В опции client_dc мне нужно добавить elif таким образом, чтобы client_dc был назначен на «jira-next», если в имени хоста найдено «jira-next». Итак, если в имени хоста найдено «jira-app», client_dc: jira elif 'jira-next-app' находится в имени хоста, client_dc: jira-next в противном случае client_dc: host_name (переменная предварительно назначена в файле переменных)

Как мне этого добиться?

1 Ответ

0 голосов
/ 29 октября 2018

Попробуйте это:

  client_dc: "{% if 'jira-app' in hostname %}jira{% elif 'jira-next' in hostname %}jira-next{% else %}{{ hostenv }}{% endif %}"
...