1 - name: Set upstream variable
3 upstream: "{{ service.upstream }}"
5 # https://docs.konghq.com/2.1.x/admin-api/#update-or-create-upstream
6 - name: Update or Create upstream
8 url: "{{ server.kong_app_admin_url }}/upstreams/{{ upstream.conf.name) }}"
10 body: "{{ upstream.conf | to_json }}"
13 apikey: "{{ server.kong_app_admin_apikey }}"
14 Content-Type: application/json
16 - name: Get upstream targets
18 url: "{{ server.kong_app_admin_url }}/upstreams/{{ upstream.conf.name }}/targets"
21 apikey: "{{ server.kong_app_admin_apikey }}"
22 register: kong_app_service_targets_check
24 - name: Create targets
26 url: "{{ server.kong_app_admin_url }}/upstreams/{{ upstream.conf.name }}/targets"
28 body: "{{ target | to_json }}"
30 apikey: "{{ server.kong_app_admin_apikey }}"
31 Content-Type: application/json
33 with_items: "{{ upstream.targets | default([]) }}"
37 - name: Delete old targets
39 url: "{{ server.kong_app_admin_url }}/upstreams/{{ upstream.conf.name }}/targets/{{ item.id }}"
42 apikey: "{{ server.kong_app_admin_apikey }}"
44 with_items: "{{ kong_app_service_targets_check.json.data }}"
45 when: not kong_app_service_targets_check is skipped