aboutsummaryrefslogtreecommitdiffhomepage
path: root/tasks/plugins.yml
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/plugins.yml')
-rw-r--r--tasks/plugins.yml28
1 files changed, 28 insertions, 0 deletions
diff --git a/tasks/plugins.yml b/tasks/plugins.yml
new file mode 100644
index 0000000..3ae0fbe
--- /dev/null
+++ b/tasks/plugins.yml
@@ -0,0 +1,28 @@
1- name: Get plugins
2 uri:
3 url: "{{ kong_app_admin_url }}/services/{{ service.name }}/plugins"
4 method: GET
5 validate_certs: no
6 headers:
7 apikey: "{{ kong_app_admin_apikey }}"
8 register: kong_app_service_plugins_check
9
10- name: Setup plugin
11 uri:
12 url: "{{ kong_app_admin_url }}/{{ exists_plugin | ternary('services/' ~ service.name ~ '/plugins','plugins/' ~ current_config.id) }}"
13 method: "{{ exists_plugin | ternary ('POST', 'PATCH') }}"
14 body: "{{ plugin | combine(current_body) | to_json }}"
15 headers:
16 apikey: "{{ kong_app_admin_apikey }}"
17 Content-Type: application/json
18 status_code: 200,201
19 with_items: "{{ service.plugins | default([]) }}"
20 loop_control:
21 loop_var: plugin
22 vars:
23 current_config: "{{ kong_app_service_plugins_check.json.data | selectattr('name', 'equalto', plugin.name) | first |default({\"id\": ''}) }}"
24 current_id_hash:
25 id: "{{ current_config.id }}"
26 current_body: "{{ (current_id_hash.id == '') | ternary({}, current_id_hash) }}"
27 exists_plugin: "{{ current_id_hash.id == '' }}"
28 when: not kong_app_service_plugins_check is skipped