mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-22 03:53:59 -07:00
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:
parent
397918435b
commit
6b5b465125
5 changed files with 295 additions and 495 deletions
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue