]> git.immae.eu Git - github/fretlink/ansible-kong-app.git/blob - tasks/plugins.yml
initial version
[github/fretlink/ansible-kong-app.git] / tasks / plugins.yml
1 - name: Get plugins
2 uri:
3 url: "{{ kong_app_admin_url }}/services/{{ kong_app_service_name }}/plugins"
4 method: GET
5 validate_certs: no
6 register: kong_app_service_plugins_check
7
8 - name: Set plugins facts
9 set_fact:
10 kong_app_current_plugins: "{{ kong_app_service_plugins_check.json | default('{}') | from_json }}"
11
12 - name: Setup plugin {{ plugin.name }}
13 uri:
14 url: "{{ kong_app_admin_url }}/services/{{ kong_app_service_name }}/plugins"
15 method: "{{ (current_config == {}) | ternary ('POST', 'PATCH') }}"
16 body: "{{ plugin | combine(current_body) | to_json }}"
17 headers:
18 apikey: "{{ kong_app_admin_apikey }}"
19 Content-Type: application/json
20 status_code: 200,201
21 with_items: "{{ kong_app_plugins }}"
22 loop_control:
23 loop_var: plugin
24 vars:
25 current_config: "{{ kong_app_current_plugins.data | selectattr('name', plugin.name) | first |default({}) }}"
26 current_id_hash:
27 id: "{{ current_config.id | default('')}}"
28 current_body: "{{ (current_id_hash.id == '') | ternary({}, current_id_hash) }}"