--- ### tags: ### update_config ### update_settings ### update_ilm_configuration - name: "Wait for " ansible.builtin.uri: url: "https://{{ inventory_hostname }}:9200" user: "{{ elastic_admin_username }}" password: "{{ elastic_admin_password }}" ca_path: "{{ service_base_path }}/{{ elastic_id }}/certs/ca/ca.crt" method: GET status_code: 200 return_content: yes register: elastic_stats until: elastic_stats.status == 200 retries: 15 delay: 6 tags: - update_config - update_settings - name: "Set VAR" ansible.builtin.set_fact: es_cluster_settings: persistent: cluster.max_shards_per_node: "{{ elastic_cluster_settings_max_shards }}" tags: - update_config - update_settings - name: "Set cluster config" ansible.builtin.uri: url: "https://localhost:9200/_cluster/settings" method: PUT ca_path: "{{ service_base_path }}/{{ elastic_id }}/certs/ca/ca.crt" user: "{{ elastic_admin_username }}" password: "{{ elastic_admin_password }}" headers: Content-Type: "application/json" Accept: "application/json" body: "{{ es_cluster_settings | to_json }}" force_basic_auth: true status_code: 200 when: - inventory_hostname == groups['elastic'][0] tags: - update_config - update_settings - name: "Create/Update ILM Policies" ansible.builtin.uri: url: "https://localhost:9200/_ilm/policy/{{ configuration.name }}" user: "{{ elastic_admin_username }}" password: "{{ elastic_admin_password }}" ca_path: "{{ service_base_path }}/{{ elastic_id }}/certs/ca/ca.crt" method: PUT headers: Content-Type: "application/json" Accept: "application/json" body_format: json body: "{{ lookup('template', configuration.strategy + '_policy.j2') }}" force_basic_auth: true status_code: [200] when: - inventory_hostname == groups['elastic'][0] tags: - update_config - update_settings - update_ilm_configuration loop: "{{ ilm_configuration }}" loop_control: loop_var: configuration - name: "Create/Update Index Templates" ansible.builtin.uri: url: "https://localhost:9200/_index_template/{{ configuration.template }}" user: "{{ elastic_admin_username }}" password: "{{ elastic_admin_password }}" ca_path: "{{ service_base_path }}/{{ elastic_id }}/certs/ca/ca.crt" method: PUT headers: Content-Type: "application/json" Accept: "application/json" body_format: json body: "{{ lookup('template', configuration.strategy + '_template.j2') }}" force_basic_auth: true status_code: 200 when: - inventory_hostname == groups['elastic'][0] tags: - update_config - update_settings - update_ilm_configuration loop: "{{ ilm_configuration }}" loop_control: loop_var: configuration