Last active
December 5, 2018 01:49
-
-
Save Greyeye/3b9b6af4672fcae467dfadaf2e97d2ec to your computer and use it in GitHub Desktop.
# dump r53 records to local console. - you need boto3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import boto3 | |
def getZone(marker): | |
client = boto3.client('route53') | |
# Get list of zones | |
if marker != "": | |
response = client.list_hosted_zones(Marker=marker) | |
else: | |
response = client.list_hosted_zones() | |
for zone in response['HostedZones']: | |
# Get the record sets for the current zone | |
record_sets = client.list_resource_record_sets(HostedZoneId=zone['Id'])['ResourceRecordSets'] | |
for record_set in record_sets: | |
if 'ResourceRecords' in record_set: | |
for record in record_set['ResourceRecords']: | |
print(zone['Name'] + "," + record_set['Name'] + ","+record_set['Type']+","+ record['Value']) | |
if 'AliasTarget' in record_set: | |
print(zone['Name'] + "," + record_set['Name'] + "," + record_set['Type']+","+record_set['AliasTarget']['DNSName']) | |
return response | |
def main(): | |
while True: | |
response = getZone("") | |
if response['IsTruncated']: | |
getZone(response['NextMarker']) | |
else: | |
break | |
if __name__ == '__main__': | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment