Base API

list_record_types

Method signature: driver.list_record_types()
Description: Return a list of record types supported by the provider.

list_zones

Method signature: driver.list_zones()
Description: Return a list of the Zone objects belonging to your account.

list_records

Method signature: driver.list_records(zone), zone.list_records()
Description: Return a list of Record objects for the specified zone.

get_zone

Method signature: driver.get_zone(zone_id)
Description: Return a Zone instance. This method is useful if you know the zone id and want to perform operations on it.

get_record

Method signature: driver.get_record(zone_id, record_id)
Description: Return a Record instance. This method is useful if you know the zone and record id and want to perform operations on the record.

create_zone

Method signature: driver.create_zone(domain, type='master', ttl, extra)
Description: Create a new zone.

Some of the providers require extra attributes to be provided when creating a zone. Good example of this is a Rackspace Cloud DNS API which requires you to specify 'email' key in the otherwise optional extra dictionary.

update_zone

Method signature: driver.update_zone(zone, domain, type='master', ttl=None, extra=None), zone.update(domain, type='master', ttl=None, extra=None)
Description: Update an existing zone. Which attributes can be updated depends on the provider. Most of the providers don't allow you to change the actual domain name. If you want to change the domain name, you need to first delete a zone, create a new one with the wanted domain name and then re-create all the old records.

create_record

Method signature: driver.create_record(name, zone, type, data, extra=None), zone.create_record(name, type, data, extra=None)
Description: Create a new record. To view a list of supported records by the provider you can use the list_record_types method.

update_record

Method signature: driver.update_record(record, name, type, data, extra), record.update_record(name, type, data, extra)
Description: Update an existing record. Similar to the update_zone which attributes can be updated depends on the provider.

delete_zone

Method signature: driver.delete_zone(zone), zone.delete()
Description: Delete a zone.

delete_record

Method signature: driver.delete_rcord(record), record.delete(record)
Description: Delete a record.