Exemple #1
0
def print_dns():
    route53 = AWS.get_route53_connection()
    results = route53.get_all_hosted_zones()
    Row = namedtuple("Row", ["Name", "Type", "TTL", "Record"])
    for zone in results["ListHostedZonesResponse"]["HostedZones"]:
        print "Domain: " + zone["Name"] + " (" + ("Private" if zone["Config"]["PrivateZone"] else "Public") + ")"
        # we need only the Id to get the DNS records
        zone_id = zone["Id"].replace("/hostedzone/", "")
        print "Zone Id: %s" % zone_id
        sets = route53.get_all_rrsets(zone_id)
        rows = []
        for rset in sets:
            for i, rr in enumerate(rset.resource_records):
                r = rr.encode("ascii", "ignore")
                if i == 0:
                    rows.append(Row(Name=rset.name, Type=rset.type, TTL=rset.ttl, Record=r))
                else:
                    rows.append(Row(Name="", Type="", TTL="", Record=r))
        pprinttable(rows)
        print "\n"