mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 11:42:08 +00:00
49 lines
2.3 KiB
YAML
49 lines
2.3 KiB
YAML
# "How do i fail a task in Ansible if the variable contains a boolean value?
|
|
# I want to perform input validation for Ansible playbooks"
|
|
# https://stackoverflow.com/questions/46664127/how-do-i-fail-a-task-in-ansible-if-the-variable-contains-a-boolean-value-i-want/46667499#46667499
|
|
|
|
# We assume 0-init/tasks/validate_vars.yml has DEFINITELY been run, so no need
|
|
# to re-check whether vars are defined here. As Ansible vars cannot be unset:
|
|
# https://serverfault.com/questions/856729/how-to-destroy-delete-unset-a-variable-value-in-ansible
|
|
|
|
- name: Assert that "osm_vector_maps_install is sameas true" (boolean not string etc)
|
|
assert:
|
|
that: osm_vector_maps_install is sameas true
|
|
fail_msg: "PLEASE SET 'osm_vector_maps_install: True' e.g. IN: /etc/iiab/local_vars.yml"
|
|
quiet: yes
|
|
|
|
- name: Assert that "osm_vector_maps_enabled | type_debug == 'bool'" (boolean not string etc)
|
|
assert:
|
|
that: osm_vector_maps_enabled | type_debug == 'bool'
|
|
fail_msg: "PLEASE GIVE VARIABLE 'osm_vector_maps_enabled' A PROPER (UNQUOTED) ANSIBLE BOOLEAN VALUE e.g. IN: /etc/iiab/local_vars.yml"
|
|
quiet: yes
|
|
|
|
|
|
- name: Install OSM Vector Maps if 'osm_vector_maps_installed' is not defined in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
|
|
include_tasks: install.yml
|
|
when: osm_vector_maps_installed is undefined
|
|
|
|
|
|
#- name: Install countries.json, map_functions.js & 2 index.html's under-or-in {{ vector_map_path }}/maplist # /library/www/osm-vector-maps
|
|
# include_tasks: enable-or-disable.yml
|
|
|
|
- name: Enable/Disable/Reload NGINX for OSM, if nginx_enabled
|
|
include_tasks: nginx.yml
|
|
when: nginx_enabled | bool
|
|
|
|
|
|
- name: Add 'osm-vector-maps' variable values to {{ iiab_ini_file }}
|
|
ini_file:
|
|
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
|
|
section: osm-vector-maps
|
|
option: "{{ item.option }}"
|
|
value: "{{ item.value | string }}"
|
|
with_items:
|
|
- option: name
|
|
value: OSM Vector Maps
|
|
- option: description
|
|
value: '"OpenStreetMap is like Google Maps but better, for schools especially, as it works offline and avoids all the advertising. Download detailed ''vector maps'' for an entire continent, or the entire world! Also includes 10+ zoom levels of satellite imagery!"'
|
|
- option: installed
|
|
value: "{{ osm_vector_maps_install }}"
|
|
- option: enabled
|
|
value: "{{ osm_vector_maps_enabled }}"
|