Filip Pytloun | ef5b0af | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 1 | {%- from "rabbitmq/map.jinja" import server with context %} |
| 2 | {%- if server.enabled %} |
| 3 | |
| 4 | {%- for host_name, host in server.get('host', {}).iteritems() %} |
| 5 | |
| 6 | {%- if host.enabled %} |
| 7 | |
| 8 | {%- if host_name != '/' %} |
| 9 | rabbitmq_vhost_{{ host_name }}: |
| 10 | rabbitmq_vhost.present: |
| 11 | - name: {{ host_name }} |
| 12 | - require: |
| 13 | - service: rabbitmq_service |
| 14 | - require_in: |
| 15 | - rabbitmq_user: rabbitmq_user_{{ host.user }} |
| 16 | {%- endif %} |
| 17 | |
| 18 | rabbitmq_user_{{ host.user }}: |
| 19 | rabbitmq_user.present: |
| 20 | - name: {{ host.user }} |
| 21 | - password: {{ host.password }} |
| 22 | - force: true |
| 23 | - perms: |
| 24 | - '{{ host_name }}': |
| 25 | - '.*' |
| 26 | - '.*' |
| 27 | - '.*' |
| 28 | |
| 29 | {%- for policy in host.get('policies', []) %} |
| 30 | |
| 31 | rabbitmq_policy_{{ host_name }}_{{ policy.name }}: |
| 32 | rabbitmq_policy.present: |
| 33 | - name: {{ policy.name }} |
| 34 | - pattern: {{ policy.pattern }} |
| 35 | - definition: {{ policy.definition|json }} |
Michel Nederlof | 0f236ae | 2017-06-22 14:54:03 +0200 | [diff] [blame] | 36 | - priority: {{ policy.get('priority', 0)|int }} |
Filip Pytloun | ef5b0af | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 37 | - vhost: {{ host_name }} |
| 38 | - require: |
| 39 | - service: rabbitmq_service |
| 40 | |
| 41 | {%- endfor %} |
| 42 | |
| 43 | {%- else %} |
| 44 | |
| 45 | rabbitmq_vhost_{{ host_name }}: |
| 46 | rabbitmq_vhost.absent: |
| 47 | - name: {{ host_name }} |
| 48 | - require: |
| 49 | - service: rabbitmq_service |
| 50 | |
| 51 | rabbitmq_user_{{ host.user }}: |
| 52 | rabbitmq_user.absent: |
| 53 | - name: {{ host.user }} |
| 54 | - require: |
| 55 | - service: rabbitmq_service |
| 56 | |
| 57 | {%- endif %} |
| 58 | |
| 59 | {%- endfor %} |
| 60 | |
| 61 | {%- endif %} |