mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 13:52:54 +00: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:
@@ -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
|
||||
|
||||
@@ -5,6 +5,7 @@ lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py
|
||||
lib/ansible/modules/cloud/amazon/ec2_win_password.py
|
||||
lib/ansible/modules/cloud/amazon/s3_sync.py
|
||||
lib/ansible/modules/cloud/azure/azure.py
|
||||
lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py
|
||||
lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py
|
||||
lib/ansible/modules/cloud/dimensiondata/dimensiondata_network.py
|
||||
lib/ansible/modules/cloud/google/gcdns_record.py
|
||||
|
||||
Reference in New Issue
Block a user