]> git.immae.eu Git - github/fretlink/ansible-kong-app.git/blame - tasks/upstream.yml
Use PUT methods instead of manually detecting if new or update
[github/fretlink/ansible-kong-app.git] / tasks / upstream.yml
CommitLineData
fb5b4527
GD
1- name: Set upstream variable
2 set_fact:
3 upstream: "{{ service.upstream }}"
4
86fe1360 5# https://docs.konghq.com/2.1.x/admin-api/#update-or-create-upstream
fb5b4527
GD
6- name: Update or Create upstream
7 uri:
86fe1360
PB
8 url: "{{ server.kong_app_admin_url }}/upstreams/{{ upstream.conf.name) }}"
9 method: PUT
fb5b4527
GD
10 body: "{{ upstream.conf | to_json }}"
11 status_code: 200,201
12 headers:
13 apikey: "{{ server.kong_app_admin_apikey }}"
14 Content-Type: application/json
fb5b4527
GD
15
16- name: Get upstream targets
17 uri:
18 url: "{{ server.kong_app_admin_url }}/upstreams/{{ upstream.conf.name }}/targets"
19 method: GET
20 headers:
21 apikey: "{{ server.kong_app_admin_apikey }}"
22 register: kong_app_service_targets_check
23
24- name: Create targets
25 uri:
26 url: "{{ server.kong_app_admin_url }}/upstreams/{{ upstream.conf.name }}/targets"
27 method: POST
28 body: "{{ target | to_json }}"
29 headers:
30 apikey: "{{ server.kong_app_admin_apikey }}"
31 Content-Type: application/json
32 status_code: 201
33 with_items: "{{ upstream.targets | default([]) }}"
34 loop_control:
35 loop_var: target
36
37- name: Delete old targets
38 uri:
39 url: "{{ server.kong_app_admin_url }}/upstreams/{{ upstream.conf.name }}/targets/{{ item.id }}"
40 method: DELETE
41 headers:
42 apikey: "{{ server.kong_app_admin_apikey }}"
f9fca128 43 status_code: 204,404
fb5b4527
GD
44 with_items: "{{ kong_app_service_targets_check.json.data }}"
45 when: not kong_app_service_targets_check is skipped