diff --git a/defaults/main.yml b/defaults/main.yml
index a971ef2101a39c92a9cb35517f5cd29de8fcf60c..66dbef96f84bf2b379b3f5337cbc08693c343275 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -9,3 +9,4 @@ files_default:
   content: ~
   template: ~
   template_vars: {}
+  url: ~
diff --git a/tasks/file.yml b/tasks/file.yml
index 53d3d2ac5f5722d821747d612641488eb9e49d4f..54519f52f4a9cbbd4a36c9280b00cf32e894baaa 100644
--- a/tasks/file.yml
+++ b/tasks/file.yml
@@ -4,6 +4,7 @@
 
 - name: "create file/folder (file module, {{ file.path }})"
   when:
+    - not file.url
     - not file.content
     - not file.template
   file:
@@ -18,6 +19,7 @@
   when:
     - file.content or  file.src
     - file.state != 'link'
+    - not file.url
   copy:
     dest: "{{ file.path }}"
     group: "{{ file.group }}"
@@ -25,3 +27,13 @@
     mode: "{{ file.mode }}"
     content: "{{ file.content }}"
     src: "{{ file.src }}"
+
+- name: "create file/folder (get_url module, {{ file.path }})"
+  when:
+    - file.url
+  get_url:
+    url: "{{ file.url }}"
+    dest: "{{ file.path }}"
+    group: "{{ file.group }}"
+    owner: "{{ file.owner }}"
+    mode: "{{ file.mode }}"