{% if designate_backend == 'bind9' or designate_backend_external == 'bind9' %}
- name: default-bind
  id: {{ designate_pool_id }}
  description: Default BIND9 Pool
  attributes: {}
  ns_records:
    - hostname: {{ designate_ns_record }}.
      priority: 1
  nameservers:
{% if designate_backend == 'bind9' %}
{% for host in groups['designate-backend-bind9'] %}
    - host: {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}
      port: {{ designate_bind_port }}
{% endfor %}
{% elif designate_backend_external == 'bind9' %}
{% for host in designate_backend_external_bind9_nameservers.replace(" ", "").split(',') %}
    - host: {{ host }}
      port: {{ designate_bind_port }}
{% endfor %}
{% endif %}
  targets:
{% if designate_backend == 'bind9' %}
{% for bind_host in groups['designate-backend-bind9'] %}
    - type: bind9
      description: BIND9 Server {{ hostvars[bind_host]['ansible_' + hostvars[bind_host]['api_interface']]['ipv4']['address'] }}
      masters:
{% for mdns_host in groups['designate-mdns'] %}
        - host: {{ hostvars[mdns_host]['ansible_' + hostvars[mdns_host]['dns_interface']]['ipv4']['address'] }}
          port: {{ designate_mdns_port }}
{% endfor %}
      options:
        host: {{ hostvars[bind_host]['ansible_' + hostvars[bind_host]['api_interface']]['ipv4']['address'] }}
        port: {{ designate_bind_port }}
        rndc_host: {{ hostvars[bind_host]['ansible_' + hostvars[bind_host]['api_interface']]['ipv4']['address'] }}
        rndc_port: {{ designate_rndc_port }}
        rndc_key_file: /etc/designate/rndc.key
{% endfor %}
{% elif designate_backend_external == 'bind9' %}
{% for bind_host in designate_backend_external_bind9_nameservers.replace(" ", "").split(',') %}
    - type: bind9
      description: BIND9 Server {{ bind_host }}
      masters:
{% for mdns_host in groups['designate-mdns'] %}
        - host: {{ hostvars[mdns_host]['ansible_' + hostvars[mdns_host]['dns_interface']]['ipv4']['address'] }}
          port: {{ designate_mdns_port }}
{% endfor %}
      options:
        host: {{ bind_host }}
        port: {{ designate_bind_port }}
        rndc_host: {{ bind_host }}
        rndc_port: {{ designate_rndc_port }}
        rndc_key_file: /etc/designate/rndc.key
{% endfor %}
{% endif %}
{% elif designate_backend == 'infoblox' %}
- name: infoblox
  id: {{ designate_pool_id }}
  description: Default Infoblox Pool
  attributes:
    internal: true
  ns_records:
    - hostname: {{ designate_ns_record }}.
      priority: 1
  nameservers:
{% for host in designate_backend_infoblox_nameservers.replace(" ", "").split(',') %}
    - host: {{ host }}
      port: {{ designate_bind_port }}
{% endfor %}
  also_notifies:
{% for host in designate_backend_infoblox_nameservers.replace(" ", "").split(',') %}
    - host: {{ host }}
      port: {{ designate_bind_port }}
{% endfor %}
  targets:
    - type: infoblox
      description: Default Infoblox Pool
      masters:
{% for mdns_host in groups['designate-mdns'] %}
        - host: {{ hostvars[mdns_host]['ansible_' + hostvars[mdns_host]['dns_interface']]['ipv4']['address'] }}
          port: {{ designate_mdns_port }}
{% endfor %}
      options:
        host: {{ designate_infoblox_host }}
        port: 53
        http_pool_maxsize: 100
        http_pool_connections: 100
        wapi_url: {{ designate_infoblox_wapi_url }}
        sslverify: {{ designate_infoblox_ssl_verify }}
        username: {{ designate_infoblox_auth_username }}
        password: {{ designate_infoblox_auth_password }}
        multi_tenant: {{ designate_infoblox_multi_tenant }}
        ns_group: {{ designate_infoblox_ns_group }}
{% endif %}
