--- - set_fact: api_path: '/s/{{ es_space }}/api/saved_objects' es_search_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ es_index_pattern_service.name }}' es_dashboard_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ es_index_pattern_service.name }}' es_container_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01-{{ es_index_pattern_service.name }}' - name: "Import smardigo default dashboard and its related objects (index-pattern,search,...)" delegate_to: localhost set_fact: es_object_smardigo_index_pattern_tenant: "{{ lookup('template','smardigo_index_pattern_tenant.json.j2') }}" es_object_smardigo_index_pattern_service: "{{ lookup('template','smardigo_index_pattern_service.json.j2') }}" es_object_smardigo_search: "{{ lookup('template','smardigo_search.json.j2') }}" es_object_smardigo_dashboard: "{{ lookup('template','smardigo_dashboard.json.j2') }}" when: - elastic_state == 'present' - name: "Print objects to local file" delegate_to: localhost copy: dest: '/tmp/es_objects_ready_to_import__objects.ndjson' content: | {{ es_object_smardigo_index_pattern_tenant | to_json(separators=(',',':')) }} {{ es_object_smardigo_index_pattern_service | to_json(separators=(',',':')) }} {{ es_object_smardigo_search | to_json(separators=(',',':')) }} {{ es_object_smardigo_dashboard | to_json(separators=(',',':')) }} when: - elastic_state == 'present' - name: "Import elastic objects ..." delegate_to: localhost uri: url: "https://{{ api_endpoint }}{{ api_path }}/_import?overwrite=true" method: POST status_code: [200] user: "{{ elastic_admin_username_vault }}" password: "{{ elastic_admin_password_vault }}" force_basic_auth: yes headers: kbn-xsrf: true body_format: form-multipart body: file: filename: '/tmp/es_objects_ready_to_import__objects.ndjson' mime_type: 'application/octet-stream' become: false when: - elastic_state == 'present' - name: "Remove temporarily created file" delegate_to: localhost file: state: absent path: '/tmp/es_objects_ready_to_import__objects.ndjson' when: - elastic_state == 'present'