url: "{{ kong_app_admin_url }}/services/{{ kong_app_service_name }}/plugins"
method: GET
validate_certs: no
+ headers:
+ apikey: "{{ kong_app_admin_apikey }}"
register: kong_app_service_plugins_check
-- name: Set plugins facts
- set_fact:
- kong_app_current_plugins: "{{ kong_app_service_plugins_check.json | default('{}') | from_json }}"
-
-- name: Setup plugin {{ plugin.name }}
+- name: Setup plugin
uri:
- url: "{{ kong_app_admin_url }}/services/{{ kong_app_service_name }}/plugins"
- method: "{{ (current_config == {}) | ternary ('POST', 'PATCH') }}"
+ url: "{{ kong_app_admin_url }}/{{ (current_config.id == '') | ternary('services/' ~ kong_app_service_name ~ '/plugins','plugins/' ~ current_config.id) }}"
+ method: "{{ (current_config.id == '') | ternary ('POST', 'PATCH') }}"
body: "{{ plugin | combine(current_body) | to_json }}"
headers:
apikey: "{{ kong_app_admin_apikey }}"
loop_control:
loop_var: plugin
vars:
- current_config: "{{ kong_app_current_plugins.data | selectattr('name', plugin.name) | first |default({}) }}"
+ current_config: "{{ kong_app_service_plugins_check.json.data | selectattr('name', 'equalto', plugin.name) | first |default({\"id\": ''}) }}"
current_id_hash:
- id: "{{ current_config.id | default('')}}"
+ id: "{{ current_config.id }}"
current_body: "{{ (current_id_hash.id == '') | ternary({}, current_id_hash) }}"