From 1377468c37f7b0fd4f20db9a2ecd43dc18a2238d Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Thu, 5 Oct 2023 15:57:02 +0200 Subject: [PATCH] test using a list of records --- README.md | 21 +++++++++++++++------ tasks/main.yml | 9 +++++---- tests/test.yml | 12 +++++++++--- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 1d1427c..f429e0d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Role Name +RĂ´les Name ========= Add or remove dns records @@ -16,9 +16,10 @@ ovh_api_application_key ovh_api_application_secret ovh_api_consumer_key -record_name -record_value -record_type +dns_records: + - record_name + record_value + record_type dns_action: delete or add Dependencies @@ -29,9 +30,17 @@ Example Playbook Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: - - hosts: localhost +- hosts: localhost + vars: + dns_records: + - record_name: foobar.opendoor.fr + record_value: 1.2.3.4 + record_type: "A" + - record_name: plop.opendoor.fr + record_value: foobar.opendoor.fr. + record__type: CNAME roles: - - { role: tco.dns, record_name: "foobar.opendoor.fr", record_value: "1.2.3.43, record_type: 'A', dns_action: 'add' } + - { role: tco.dns, dns_records: {{ dns_records }}" } License ------- diff --git a/tasks/main.yml b/tasks/main.yml index beabc54..b99ec16 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,5 +1,6 @@ --- # tasks file for tco.dns + - name: manage dns record vars: state: "{{ (dns_action == 'delete' ) | ternary( 'absent', 'present' ) }}" @@ -9,8 +10,8 @@ ovh_api_application_secret: "{{ ovh_api_application_secret }}" ovh_api_consumer_key: "{{ ovh_api_consumer_key }}" zone: "{{ dns_zone }}" - record_name: "{{ record_name }}" - record_value: "{{ record_value }}" - record_type: "{{ record_type }}" + record_name: "{{ item.record_name }}" + record_value: "{{ item.record_value }}" + record_type: "{{ item.record_type }}" state: "{{ state }}" - + loop: "{{ dns_records }}" diff --git a/tests/test.yml b/tests/test.yml index e8199de..a309946 100644 --- a/tests/test.yml +++ b/tests/test.yml @@ -1,5 +1,11 @@ ---- - hosts: localhost - remote_user: root + vars: + records: + - record_name: test1 + record_value: 1.2.3.4 + record_type: "A" + - record_name: test2 + record_value: foobar.opendoor.fr. + record_type: CNAME roles: - - tco.dns + - { role: tco.dns, dns_action: "delete", dns_records: "{{ records }}" } \ No newline at end of file