#Templates done after restart therefore. e.g. suppose user removes security on a running node and doesn't specify es_api_basic_auth_username and es_api_basic_auth_password. The templates will subsequently not be removed if we don't wait for the node to restart. - name: Ensure elasticsearch is started service: name={{instance_init_script | basename}} state=started enabled=yes when: es_start_service - name: Wait for elasticsearch to startup wait_for: host={{es_api_host}} port={{es_api_port}} delay=10 when: es_start_service - name: Install templates without auth uri: url: "http://{{es_api_host}}:{{es_api_port}}/_template/{{item | filename}}" method: PUT status_code: 200 body_format: json body: "{{ lookup('file', item) }}" when: es_start_service and not es_enable_xpack or not es_xpack_features is defined or "security" not in es_xpack_features with_fileglob: - "{{ es_templates_fileglob | default('') }}" run_once: True - name: Install templates with auth uri: url: "http://{{es_api_host}}:{{es_api_port}}/_template/{{item | filename}}" method: PUT status_code: 200 user: "{{es_api_basic_auth_username}}" password: "{{es_api_basic_auth_password}}" force_basic_auth: yes body_format: json body: "{{ lookup('file', item) }}" when: es_start_service and es_enable_xpack and es_xpack_features is defined and "security" in es_xpack_features with_fileglob: - "{{ es_templates_fileglob | default('') }}" run_once: True