-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcreate_playbook.yml
58 lines (47 loc) · 1.97 KB
/
create_playbook.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
---
- hosts: 127.0.0.1
become: no
vars:
playbook_name: ansibleskeleton
location: /tmp/{{ playbook_name }}
roles: ["web", "database", "common"]
tasks:
- name: Check if the playbook already exists
stat: path={{ location }}
register: playbook_directory
- name: Create playbook directory
file: path={{ item }} state=directory
when: playbook_directory.stat.exists == False
with_items:
- "{{ location }}"
- "{{ location }}/group_vars"
- "{{ location }}/roles"
- name: Create playbook files
file: path={{ item }} state=touch
with_items:
- "{{ location }}/group_vars/all"
- "{{ location }}/{{ playbook_name }}.yml"
- name: Create role + task directories
file: path={{ location }}/roles/{{ item }}/tasks state=directory mode=0755
with_items: "{{ roles }}"
- name: Create handler directory for each role
file: path={{ location }}/roles/{{ item }}/handlers state=directory mode=0755
with_items: "{{ roles }}"
- name: Create templates directory for each role
file: path={{ location }}/roles/{{ item }}/templates state=directory mode=0755
with_items: "{{ roles }}"
- name: Create files directory for each role
file: path={{ location }}/roles/{{ item }}/files state=directory mode=0755
with_items: "{{ roles }}"
- name: Create vars directory for each role
file: path={{ location }}/roles/{{ item }}/vars state=directory mode=0755
with_items: "{{ roles }}"
- name: Create meta directory for each role
file: path={{ location }}/roles/{{ item }}/meta state=directory mode=0755
with_items: "{{ roles }}"
- name: Create task file for each role
file: path={{ location }}/roles/{{ item }}/tasks/main.yml state=touch
with_items: "{{ roles }}"
- name: Create handler file for each role
file: path={{ location }}/roles/{{ item }}/handlers/main.yml state=touch
with_items: "{{ roles }}"