aboutsummaryrefslogtreecommitdiffhomepage
path: root/tasks/rabbitmq_vhosts.yml
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/rabbitmq_vhosts.yml')
-rw-r--r--tasks/rabbitmq_vhosts.yml25
1 files changed, 25 insertions, 0 deletions
diff --git a/tasks/rabbitmq_vhosts.yml b/tasks/rabbitmq_vhosts.yml
new file mode 100644
index 0000000..a02af62
--- /dev/null
+++ b/tasks/rabbitmq_vhosts.yml
@@ -0,0 +1,25 @@
1---
2- name: rabbitmq_extra_vhosts | Create vhosts
3 rabbitmq_vhost:
4 name: "{{ item['name'] }}"
5 state: "{{ item['state'] }}"
6 with_items: "{{ rabbitmq_extra_vhosts }}"
7 run_once: "{{ rabbitmq_enable_clustering is defined and rabbitmq_enable_clustering }}"
8 register: rabbitmq_created_vhosts
9
10- name: rabbitmq_extra_vhosts | Check guest administrator is present
11 command: rabbitmqctl -q list_users
12 become: true
13 run_once: "{{ rabbitmq_enable_clustering is defined and rabbitmq_enable_clustering }}"
14 when: rabbitmq_created_vhosts.changed
15 changed_when: false
16 register: rabbitmq_existing_users
17
18- name: rabbitmq_extra_vhosts | Give access to new vhosts to guest administrator
19 command: "rabbitmqctl -q set_permissions -p {{ item['name'] }} guest '.*' '.*' '.*'"
20 become: true
21 run_once: "{{ rabbitmq_enable_clustering is defined and rabbitmq_enable_clustering }}"
22 with_items: "{{ rabbitmq_created_vhosts.results|selectattr('changed')|list }}"
23 when:
24 - item['state'] == 'present'
25 - rabbitmq_existing_users.stdout_lines | map('regex_search', '^guest\\s\\[.*administrator.*\\]$') | list | difference([None]) | length > 0