role_borgmatic/tasks/configuration_borgwarehouse.yml
2025-03-25 21:26:44 +01:00

39 lines
1.1 KiB
YAML

---
- name: Get list of repositories
ansible.builtin.uri:
url: "{{ borgmatic_borgwarehouse_url }}/api/repo"
method: GET
headers:
Authorization: "Bearer {{ borgmatic_borgwarehouse_key }}"
Content-Type: "application/json"
body_format: json
return_content: true
register: repo_list
- name: Get repository informations
ansible.builtin.set_fact:
repo_infos: "{{ repo_list.json.repoList | selectattr('alias', 'equalto', inventory_hostname) }}"
- name: Create repository
ansible.builtin.uri:
url: "{{ borgmatic_borgwarehouse_url }}/api/repo/add"
method: POST
headers:
Authorization: "Bearer {{ borgmatic_borgwarehouse_key }}"
Content-Type: "application/json"
body_format: json
body: "{{ borgwarehouse_body }}"
when: repo_infos | length == 0
- name: Update repository
ansible.builtin.uri:
url: "{{ borgmatic_borgwarehouse_url }}/api/repo/id/{{ repo_infos[0].id }}/edit"
method: PATCH
headers:
Authorization: "Bearer {{ borgmatic_borgwarehouse_key }}"
Content-Type: "application/json"
body_format: json
body: "{{ borgwarehouse_body }}"
when: repo_infos | length > 0