global !p
def newsoa():
    import datetime
    now = datetime.datetime.now()
    # return standard SOA formatted serial for today
    return now.strftime("%Y%m%d00")
endglobal

snippet zone "Bootstrap a new Bind zonefile" b
$TTL 86400
@     IN SOA   ${1:example.net}.     ${2:hostmaster.$1}.(
                        `!p snip.rv = newsoa()`;     serial
                        21600;          refresh every 6 hours
                        3600;           retry after one hour
                        604800;         expire after a week
                        86400 );        minimum TTL of 1 day

                IN      NS              ns01.$1.
                IN      MX      10      mail.$1.

ns01.$1         IN      A       
mail.$1         IN      A   
endsnippet

snippet A "Insert A Record" b
${1:hostname}   IN      A   ${2:ip}
endsnippet
