Forum Discussion
devnullNZ
Aug 06, 2017Nimbostratus
Updating this in case anyone else gets stuck fetching & changing datagroups with ansible. Playbook snippet comparing datagroup values and changing when necessary:
- name: get data via REST api
uri:
url: "https://{{ inventory_hostname }}/mgmt/tm/ltm/dataGroup/internal/~Common~mtest-routing-datagroup"
method: GET
force_basic_auth: yes
user: "{{ f5_admin_user }}"
password: "{{ f5_admin_password }}"
validate_certs: no
register: result
tags:
- always
- name: save current datagroup info
set_fact:
current_data="{{ result.json['records'][0]['data'] }}"
tags:
- always
- name: Change data
uri:
url: "https://{{ inventory_hostname }}/mgmt/tm/ltm/dataGroup/internal/~Common~mtest-routing-datagroup"
method: PATCH
force_basic_auth: yes
user: "{{ f5_admin_user }}"
password: "{{ f5_admin_password }}"
validate_certs: no
body: {"records":[ {"name": "default", "data":"{{ desired_data }}"} ]}
body_format: json
status_code: 200
when: not current_data == desired_data
changed_when: not current_data == desired_data
tags:
- always