aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tasks/strategy_lineinfile.yml
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/strategy_lineinfile.yml')
-rw-r--r--tasks/strategy_lineinfile.yml14
1 files changed, 12 insertions, 2 deletions
diff --git a/tasks/strategy_lineinfile.yml b/tasks/strategy_lineinfile.yml
index 7656602..2b2d02a 100644
--- a/tasks/strategy_lineinfile.yml
+++ b/tasks/strategy_lineinfile.yml
@@ -1,13 +1,23 @@
---
+- name: Check target file for removal
+ ansible.builtin.stat:
+ path: "{{ _target_path }}"
+ delegate_to: "{{ prometheus_target_host }}"
+ become: true
+ register: _target_file
+ when: _target_state == "absent"
+
- name: Deploy target via lineinfile
ansible.builtin.lineinfile:
path: "{{ _target_path }}"
line: "{{ prometheus_target_strategy_lineinfile_prefix ~ _target_host ~ prometheus_target_strategy_lineinfile_suffix }}"
- state: present
+ state: "{{ _target_state }}"
delegate_to: "{{ prometheus_target_host }}"
become: true
register: _lineinfile_result
+ when: _target_state == "present" or _target_file.stat.exists
- name: Track changes
ansible.builtin.set_fact:
- changed: "{{ changed | default(false) or _lineinfile_result.changed }}"
+ changed: >-
+ {{ changed | default(false) or (_lineinfile_result.changed | default(false)) }}