ansible-role-files/tasks/file.yml

61 lines
1.3 KiB
YAML

- set_fact:
defaultfile:
group: root
owner: root
mode: "0700"
state: touch
src: ~
content: ~
template: ~
template_vars: {}
src: ~
- set_fact:
file: "{{ defaultfile|combine(item.value|d({}), {'path': item.key} ) }}"
- name: create file/folder (file)
when:
- not file.content
- not file.template
- not file.src
file:
path: "{{ file.path }}"
group: "{{ file.group }}"
owner: "{{ file.owner }}"
mode: "{{ file.mode }}"
src: "{{ file.src }}"
state: "{{ file.state }}"
- name: create file/folder (copy content)
when:
- file.content
- not file.src
copy:
dest: "{{ file.path }}"
group: "{{ file.group }}"
owner: "{{ file.owner }}"
mode: "{{ file.mode }}"
content: "{{ file.content }}"
- 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 }}"
- 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 }}"