--- # dns.yml - name: Add A Records for thesatelliteoflove.com and nerder.land hosts: localhost gather_facts: false vars: # Domains to manage DNS records for domains: - name: thesatelliteoflove.com dns_records: - name: "pin" ip: "152.53.36.98" - name: "home" ip: "152.53.36.98" - name: "git" ip: "152.53.36.98" - name: "social" ip: "152.53.36.98" - name: "auth" ip: "152.53.36.98" - name: "audio" ip: "152.53.36.98" - name: "books" ip: "152.53.36.98" - name: "paper" ip: "152.53.36.98" - name: nerder.land dns_records: - name: "forms" ip: "152.53.36.98" tasks: - name: Add A records for subdomains of each domain amazon.aws.route53: state: present zone: "{{ item.0.name }}" record: "{{ item.1.name }}.{{ item.0.name }}" type: A ttl: 300 value: "{{ item.1.ip }}" loop: "{{ query('subelements', domains, 'dns_records') }}" loop_control: loop_var: item