From 0d76b49a303b5a38426d7d5d57be509f237609bf Mon Sep 17 00:00:00 2001
From: nd <git@notandy.de>
Date: Sun, 11 Jul 2021 04:06:02 +0200
Subject: [PATCH] add symlink support

---
 tasks/file.yml | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/tasks/file.yml b/tasks/file.yml
index d550f31..49fcf51 100644
--- a/tasks/file.yml
+++ b/tasks/file.yml
@@ -7,11 +7,12 @@
       content: ~
       template: ~
       template_vars: {}
+      src: ~
 
 - set_fact:
     file: "{{ defaultfile|combine(item.value|d({}), {'path': item.key} ) }}"
 
-- name: create file/folder
+- name: create file/folder (file)
   when:
     - not file.content
     - not file.template
@@ -23,7 +24,7 @@
     mode: "{{ file.mode }}"
     state: "{{ file.state }}"
 
-- name: create file/folder
+- name: create file/folder (copy content)
   when:
     - file.content
   copy:
@@ -33,12 +34,25 @@
     mode: "{{ file.mode }}"
     content: "{{ file.content }}"
 
-- name: create file/folder
+- name: create file/folder (copy src)
   when:
     - file.src
+    - file.state != "link"
   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 }}"
+
+- name: create file/folder (symlink)
+  when:
+    - file.src
+    - file.state == "link"
+  file:
+    path: "{{ file.path }}"
+    group: "{{ file.group }}"
+    owner: "{{ file.owner }}"
+    mode: "{{ file.mode }}"
+    state: "{{ file.state }}"
+    src: "{{ file.src }}"
-- 
GitLab