Следующий код должен пропустить, если переменная Ansible установлена на https: off
в файле переменных yml.Ansible: пропустите шаг, основанный на переменном значении
default_setup.yml
:
# Other info
ansible_cache_dir: /var/cache/ansible
https: off
provision.yml
:
---
- hosts: webclient
vars_files:
- default_setup.yml
- name: Update server.xml tomcat https conf
template:
src: conf_files/tomcat_server.xml
dest: /opt/tomcat/apache-tomcat-{{ tomcat_ver }}/conf/server.xml
become: true
when: "{{ https }}" == "on"
notify: restart tomcat
Когда я играю эту анзибль provision.yml
получаю следующее сообщение об ошибке, даже если я добавил цитату ("")
ERROR! Syntax Error while loading YAML.
The error appears to have been in '/home/centos/check-tomcat/roles/nginx/tasks/main.yml': line 24, column 23, but maybe elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
become: true
when: "{{ https }}" == "on"
^here
We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:
with_items:
- {{ foo }}
Should be written as:
with_items:
- "{{ foo }}"