azure_rm_dnsrecordset rewrite (#30449)

As-merged, had several issues that prevented idempotent usage. Some args were defined at the wrong UI level. Dual-state args didn't match up with typical Ansible UI.
This commit is contained in:
Matt Davis 2017-09-15 18:12:46 -07:00 committed by GitHub
commit 6b5b465125
5 changed files with 295 additions and 495 deletions

View file

@ -13,60 +13,69 @@
assert:
that: results.changed
- name: create new "A" record set with multiple records
- name: create "A" record set with multiple records
azure_rm_dnsrecordset:
resource_group: "{{ resource_group }}"
relative_name: www
zone_name: "{{ domain_name }}.com"
record_type: A
record_set_state: present
record_state: present
records:
- 192.168.100.101
- 192.168.100.102
- 192.168.100.103
- entry: 192.168.100.101
- entry: 192.168.100.102
- entry: 192.168.100.103
register: results
- name: Assert that A record set was created
assert:
that: results.changed
- name: re-run "A" record with same values
azure_rm_dnsrecordset:
resource_group: "{{ resource_group }}"
relative_name: www
zone_name: "{{ domain_name }}.com"
record_type: A
records:
- entry: 192.168.100.101
- entry: 192.168.100.102
- entry: 192.168.100.103
register: results
- name: Assert that A record set was not changed
assert:
that: not results.changed
- name: Update "A" record set with additional record
azure_rm_dnsrecordset:
resource_group: "{{ resource_group }}"
relative_name: www
zone_name: "{{ domain_name }}.com"
record_type: A
record_set_state: present
record_state: present
record_mode: append
records:
- 192.168.100.104
- entry: 192.168.100.104
register: results
- name: Assert that new record was appended
assert:
that:
- results.changed
- results.record_set_state.full_list[3] == '192.168.100.104'
- name: Check_mode test
- name: re-update "A" record set with additional record
azure_rm_dnsrecordset:
resource_group: "{{ resource_group }}"
relative_name: www
zone_name: "{{ domain_name }}.com"
record_type: A
record_set_state: present
record_state: present
record_mode: append
records:
- 192.168.100.105
check_mode: yes
- entry: 192.168.100.104
register: results
- name: Assert that check_mode returns new state
- name: Assert that A record set was not changed
assert:
that:
- results.changed
- results.check_mode
that:
- not results.changed
- name: Remove 1 record from record set
azure_rm_dnsrecordset:
@ -74,52 +83,80 @@
relative_name: www
zone_name: "{{ domain_name }}.com"
record_type: A
record_set_state: present
record_state: absent
records:
- 192.168.100.104
- entry: 192.168.100.101
- entry: 192.168.100.102
- entry: 192.168.100.103
register: results
- name: Assert that record was deleted
assert:
that:
- results.changed
- name: Check_mode test
azure_rm_dnsrecordset:
resource_group: "{{ resource_group }}"
relative_name: www
zone_name: "{{ domain_name }}.com"
record_type: A
records:
- entry: 192.168.100.105
check_mode: yes
register: results
- name: Assert that check_mode returns new state
assert:
that:
- results.changed
# FUTURE: add facts module calls to ensure that we really didn't touch anything
- name: delete a record set
azure_rm_dnsrecordset:
resource_group: "{{ resource_group }}"
relative_name: www
zone_name: "{{ domain_name }}.com"
record_type: A
record_set_state: absent
state: absent
register: results
- name: Assert that record set deleted
assert:
that: results.changed
- name: (idempotence test) re-run record set absent
azure_rm_dnsrecordset:
resource_group: "{{ resource_group }}"
relative_name: www
zone_name: "{{ domain_name }}.com"
record_type: A
state: absent
register: results
- name:
assert:
that: not results.changed
- name: create SRV records in a new record set
azure_rm_dnsrecordset:
resource_group: "{{ resource_group }}"
relative_name: "_sip._tcp.{{ domain_name }}.com"
zone_name: "{{ domain_name }}.com"
record_type: SRV
record_set_state: present
records: "sip.{{ domain_name }}.com"
preference: 10
record_state: present
time_to_live: 7200
priority: 20
weight: 10
port: 5060
record_type: SRV
state: present
records:
- entry: sip.{{ domain_name }}.com
priority: 20
weight: 10
port: 5060
register: results
- name: Assert that SRV record set was created
assert:
that:
- results.changed
- results.record_set_state.full_list[0] == 'sip.{{ domain_name }}.com'
- results.record_set_state.name == '_sip._tcp.{{ domain_name }}.com'
- name: Delete DNS zone
azure_rm_dnszone:

View file

@ -21,12 +21,10 @@
relative_name: www
zone_name: "{{ domain_name }}.com"
record_type: A
record_set_state: present
record_state: present
records:
- 192.168.100.101
- 192.168.100.102
- 192.168.100.103
- entry: 192.168.100.101
- entry: 192.168.100.102
- entry: 192.168.100.103
register: results
- name: Retrieve DNS Record Set Facts for single Record Set