---
# 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: "code"
            ip: "152.53.36.98"
          - name: cal
            ip: "152.53.36.98"
          - name: phlog
            ip: "152.53.36.98"
          - name: loclog
            ip: "152.53.36.98"
      - name: nerder.land
        dns_records:
          - name: "forms"
            ip: "152.53.36.98"
          - name: "repair"
            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