1 {%- from "elasticsearch/map.jinja" import client with context %}
2 {%- if client.get('enabled', False) %}
5 - elasticsearch.client.service
7 {%- if grains['saltversioninfo'][0] < 2017 or
8 (grains['saltversioninfo'][0] == 2017 and grains['saltversioninfo'][1] < 7) %}
9 {# Since Salt 2017.7 new elasticsearch state is used and elasticsearch_index_... deprecated #}
10 {% set force_compatibility = True %}
12 {% set force_compatibility = False %}
15 {%- for index_name, index in client.get('index', {}).iteritems() %}
16 elasticsearch_index_{{ index_name }}:
18 {%- if index.get('enabled', False) %}
19 {% set operation = 'create' %}
21 {%- if index.definition is defined %}
22 {% set definition = index.definition %}
25 {%- if index.template is defined %}
26 {%- import_json index.template as definition %}
29 {%- if definition is defined %}
30 {%- if force_compatibility %}
31 elasticsearch_index_template.present:
33 elasticsearch.index_template_present:
35 - name: {{ index_name }}
36 - definition: '{{ definition|json }}'
39 - name: echo "No definition specified for index {{ index_name }}"
44 {% set operation = 'delete' %}
45 {%- if force_compatibility %}
46 elasticsearch_index_template.absent:
48 elasticsearch.index_template_absent:
50 - name: {{ index_name }}
54 - pkg: elasticsearch_client_packages
56 {%- if index.get('force_operation', False) %}
57 elasticsearch_index_{{ index_name }}_{{ operation }}:
58 {% set curdate = None | strftime('%Y.%m.%d') %}
60 - name: elasticsearch.index_{{ operation }}
61 - index: {{ index_name }}-{{ curdate }}
63 elasticsearch_index_{{ index_name }}_{{ operation }}:
65 - name: elasticsearch.index_{{ operation }}
66 - index: {{ index_name }}