; Auto generated dns zone
; Version 2.0
; Eenos update ${time}
; Zone File for ${domain}
$TTL 14400
$ORIGIN ${domain}.
@                     86400 IN  SOA   ${nameservers[0]}. dnsadmin.${domain}. (                              
                              ${soaserial}                  ; serial number
                              3600                        ; refresh period
                              1800                        ; retry period
                              1209600                     ; expire time
                              86400                       ; default  ttl
                              )
;Name servers
% for ns in nameservers :
${domain}. 86400 IN  NS  ${ns}.
% endfor
% if hasipv4 == 'yes' :
;A Records
${domain}. 14400 IN  A ${ipv4}
% endif
%if hasa == 'yes':
%for name in A:
${name}.${domain}. ${A[name]['ttl']} IN  A ${A[name]['ip']}
%endfor
%endif
% if hasipv6 == 'yes' :
;AAAA Records
${domain}. 14400 IN  AAAA  ${ipv6}
% endif
%if hasaaaa == 'yes':
%for name in AAAA:
${name}.${domain}. ${AAAA[name]['ttl']} IN  AAAA ${AAAA[name]['ip']}
%endfor
%endif
%if hasmx == 'yes':
;MX Records
% for mxrecord in MX :    
${domain}. 14400 IN MX ${mxrecord} ${MX[mxrecord]}.
%endfor
%endif
% if hasspf == 'yes' :
;SPF record
${domain}. 14400 IN  TXT "${spf}"
% endif 
% if hasdkim == 'yes':
;DKIM
default._domainkey  14400   IN  TXT (
% for k in dkimkey: 
                            "${k}"
%endfor
                                )
%endif
;CNAME Records
www 14000 IN  CNAME ${domain}.
%if hascname=='yes':
%for cn in CNAME:
${cn}.${domain}. ${CNAME[cn]['ttl']} IN CNAME ${CNAME[cn]['domain']}.
%endfor
%endif
%if hastxt == 'yes':
;TXT Records
%for name in TXT:
${name}.${domain}. ${TXT[name]['ttl']} IN  TXT "${TXT[name]['value']}"
%endfor
%endif 
%if hasgtxt == 'yes':
;Global TXT Records
% for tval in GTXT :
${domain}. 14400 IN  TXT  "${tval}"
% endfor
%endif 
% if hasipv4 == 'yes' :
;Eenos Default sub domains 
mail  14000 IN  A ${ipv4}
eenos 14000 IN  A ${ipv4}
webmail 14000 IN A ${ipv4}
ftp  14000 IN  A ${ipv4}
% endif
% if hasipv6 == 'yes' :
mail  14000 IN  AAAA ${ipv6}
eenos 14000 IN  AAAA ${ipv6}
webmail  14000 IN  AAAA ${ipv6}
ftp  14000 IN  AAAA ${ipv6}
% endif
% if hassub == 'yes':
; Sub Domains
%for sd in sub:
%if 'ipv4' in sub[sd]:
${sub[sd]['name']}  ${sub[sd]['ttl']} IN A ${sub[sd]['ipv4']}
%endif
%if 'ipv6' in sub[sd]:
${sub[sd]['name']}  ${sub[sd]['ttl']} IN AAAA ${sub[sd]['ipv6']}
%endif
%if not '*' in sub[sd]['name']:
www.${sub[sd]['name']}  ${sub[sd]['ttl']} IN CNAME ${sd}.
%endif
%endfor
%endif