- name: decomission host hosts: '{{ host }}' tasks: - name: delete A record ipadnsrecord: ipaadmin_principal: '{{ ipa_user }}' ipaadmin_password: '{{ ipa_pass }}' zone_name: '{{ domain }}' record_name: '{{ host }}' record_type: A record_value: '{{ ip }}' state: absent delegate_to: '{{ freeipa_master }}' - name: delete PTR record ipadnsrecord: ipaadmin_principal: '{{ ipa_user }}' ipaadmin_password: '{{ ipa_pass }}' zone_name: "{{ ip | ansible.utils.ipaddr('revdns') | regex_replace('^[^.]+\\.', '') }}" record_name: '{{ ip.split(".") | last }}' record_type: PTR record_value: '{{ fqdn ~ "." }}' state: absent delegate_to: '{{ freeipa_master }}' - name: delete CNAME records ipadnsrecord: ipaadmin_principal: '{{ ipa_user }}' ipaadmin_password: '{{ ipa_pass }}' zone_name: "{{ domain }}" record_name: '{{ item.split(".") | first }}' record_type: CNAME record_value: '{{ fqdn ~ "." }}' state: absent delegate_to: '{{ freeipa_master }}' loop: '{{ cnames }}' - name: delete host object ipahost: ipaadmin_principal: '{{ ipa_user }}' ipaadmin_password: '{{ ipa_pass }}' name: '{{ fqdn }}' state: absent delegate_to: '{{ ipa_host }}' - name: delete proxmox vm proxmox_kvm: node: '{{ proxmox_node }}' api_host: localhost api_user: '{{ proxmox_api_user }}@pam' api_password: '{{ proxmox_api_password }}' name: '{{ inventory_hostname }}' force: yes state: absent delegate_to: '{{ proxmox_api_host }}' when: "'proxmox_instances' in group_names"