1 {%- from "elasticsearch/map.jinja" import client with context %}
2 {%- if client.get('enabled', False) %}
5 - elasticsearch.client.service
7 {%- for index_name, index in client.get('index', {}).iteritems() %}
8 elasticsearch_index_{{ index_name }}:
10 {%- if index.get('enabled', False) %}
11 {% set operation = 'create' %}
13 {%- if index.definition is defined %}
14 {% set definition = index.definition %}
17 {%- if index.template is defined %}
18 {%- import_json index.template as definition %}
21 {%- if definition is defined %}
22 elasticsearch_index_template.present:
23 - name: {{ index_name }}
24 - definition: '{{ definition|json }}'
27 - name: echo "No definition specified for index {{ index_name }}"
32 {% set operation = 'delete' %}
33 elasticsearch_index_template.absent:
34 - name: {{ index_name }}
38 - pkg: elasticsearch_client_packages
40 {%- if index.get('force_operation', False) %}
41 elasticsearch_index_{{ index_name }}_{{ operation }}:
43 - name: elasticsearch.index_{{ operation }}
44 - index: {{ index_name }}