--- - name: Get local public IP ansible.builtin.uri: url: "https://ipinfo.io/ip" return_content: true register: local_public_ip - name: Initiate spf_txt_records dict ansible.builtin.set_fact: spf_txt_records: {} - name: Set SPF TXT records loop: "{{ virtual_domains }}" loop_control: loop_var: domain ansible.builtin.set_fact: spf_txt_records: "{{ spf_txt_records | combine({domain: domain + '. IN TXT \"v=spf1 ip4:' + local_public_ip.content + ' mx ~all\"'}) }}"