Last active
April 13, 2020 01:18
-
-
Save samloh84/9c014534ea82c6c81458526f82fa0d11 to your computer and use it in GitHub Desktop.
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 | |
client = boto3.client('route53') | |
def delete_zone(zone_id): | |
""" List all records and deletes non SOA/NS records, before deleting the zone | |
""" | |
record_sets = client.list_resource_record_sets(HostedZoneId=zone_id) | |
# print(record_sets) | |
changes = [] | |
for record_set in record_sets["ResourceRecordSets"]: | |
if not record_set['Type'] in ['SOA', 'NS']: | |
print(record_set) | |
change_request = { | |
'Action': 'DELETE', | |
'ResourceRecordSet': { | |
'Name': record_set['Name'], | |
'Type': record_set['Type'] | |
} | |
} | |
if 'TTL' in record_set: | |
change_request['ResourceRecordSet']['TTL'] = record_set['TTL'] | |
if 'ResourceRecords' in record_set: | |
change_request['ResourceRecordSet']['ResourceRecords'] = record_set['ResourceRecords'] | |
if 'AliasTarget' in record_set: | |
change_request['ResourceRecordSet']['AliasTarget'] = record_set['AliasTarget'] | |
changes.append(change_request) | |
if len(changes) > 0: | |
client.change_resource_record_sets(HostedZoneId=zone_id, | |
ChangeBatch={'Changes': changes}) | |
client.delete_hosted_zone(Id=zone_id) | |
ids = [] | |
for id in ids: | |
zone = client.get_hosted_zone(Id=id) | |
print(zone) | |
delete_zone(id) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment