From 7be38f39ca223959c5c2857f584a8b6f3af47747 Mon Sep 17 00:00:00 2001
From: nd <git@notandy.de>
Date: Sun, 11 Jul 2021 12:34:05 +0200
Subject: [PATCH] cleaned up role

---
 defaults/main.yml | 10 ++++++++++
 tasks/file.yml    | 33 ++++++---------------------------
 2 files changed, 16 insertions(+), 27 deletions(-)

diff --git a/defaults/main.yml b/defaults/main.yml
index 392ec59..a971ef2 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -1 +1,11 @@
 files: {}
+
+files_default:
+  group: root
+  owner: root
+  mode: "0700"
+  state: touch
+  src: ~
+  content: ~
+  template: ~
+  template_vars: {}
diff --git a/tasks/file.yml b/tasks/file.yml
index 8efd28c..fcc3991 100644
--- a/tasks/file.yml
+++ b/tasks/file.yml
@@ -1,22 +1,10 @@
 - set_fact:
-    defaultfile:
-      group: root
-      owner: root
-      mode: "0700"
-      state: touch
-      src: ~
-      content: ~
-      template: ~
-      template_vars: {}
+    file: "{{ {}|combine(files_default, item.value|d({}), {'path': item.key} ) }}"
 
-- set_fact:
-    file: "{{ defaultfile|combine(item.value|d({}), {'path': item.key} ) }}"
-
-- name: create file/folder
+- name: "create file/folder (file module, {{ file.path }})"
   when:
     - not file.content
     - not file.template
-    - not file.src
   file:
     path: "{{ file.path }}"
     group: "{{ file.group }}"
@@ -25,23 +13,14 @@
     src: "{{ file.src }}"
     state: "{{ file.state }}"
 
-- name: create file/folder
+- name: "create file/folder (copy module, {{ file.path }})"
   when:
-    - file.content
-    - not file.src
+    - file.content or  file.src
+    - file.state != 'link'
   copy:
     dest: "{{ file.path }}"
     group: "{{ file.group }}"
     owner: "{{ file.owner }}"
     mode: "{{ file.mode }}"
     content: "{{ file.content }}"
-
-- name: create file/folder
-  when:
-    - file.src
-  copy:
-    dest: "{{ file.path }}"
-    group: "{{ file.group }}"
-    owner: "{{ file.owner }}"
-    mode: "{{ file.mode }}"
-    src: "{{ file.src }}"
\ No newline at end of file
+    src: "{{ file.src }}"
-- 
GitLab