Skip to content

Instantly share code, notes, and snippets.

@Greyeye
Last active December 5, 2018 01:49
Show Gist options
  • Save Greyeye/3b9b6af4672fcae467dfadaf2e97d2ec to your computer and use it in GitHub Desktop.
Save Greyeye/3b9b6af4672fcae467dfadaf2e97d2ec to your computer and use it in GitHub Desktop.
# dump r53 records to local console. - you need boto3
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