How to delete a DNS record in Route 53? I followed the documentation , but I still can't get it to work. I don’t know that I missed something here.
Based on the documentation:
DELETE: deletes the existing set of resource records that has the specified values for Name, Type, SetIdentifier (for delays, weighted, geolocation, and set of fault tolerance resource records) and TTL (except for the alias of the set of resource records for which the TTL defines the AWS resource to which you forward DNS queries).
But I always get this error:
Traceback (most recent call last):
File "./test.py", line 37, in <module>
main()
File "./test.py", line 34, in main
print(del_record())
File "./test.py", line 23, in del_record
'TTL': 300
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/botocore/client.py", line 251, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/botocore/client.py", line 537, in _make_api_call
raise ClientError(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InvalidInput) when calling the ChangeResourceRecordSets operation: Invalid request
Here is my code:
import boto3
r53 = boto3.client('route53')
zone_id = 'ABCDEFGHIJKLMNO'
record = 'me.domain.com'
r_type = 'CNAME'
r_val = 'google.com'
def del_record():
response = r53.change_resource_record_sets(
HostedZoneId=zone_id,
ChangeBatch={
'Changes': [
{
'Action': 'DELETE',
'ResourceRecordSet': {
'Name': record,
'Type': r_type,
'TTL': 300
}
}
]
}
)
return response
def main():
print(del_record())
if __name__ == '__main__':
main()
source
share