Durable DNS Driver Documentation¶
DurableDNS provides DNS hosting solutions for customers of all sizes. Works with all hosting arrangements - shared web hosting, virtual private servers, dedicated servers, and servers hosted on dynamic IP addresses. The servers are located in data centers located in different areas of North America. This geographic separation ensures that your DNS records are never off-line due to network problems, natural disasters, data center failures, or supplier failures.
See more at https://durabledns.com/
Instantiating the driver¶
from libcloud.dns.types import Provider
from libcloud.dns.providers import get_driver
cls = get_driver(Provider.DURABLEDNS)
driver = cls("api_user", "api_key")
API Docs¶
- class libcloud.dns.drivers.durabledns.DurableDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
- Parameters
key (
str
) – API key or username to used (required)secret (
str
) – Secret password to be used (required)secure (
bool
) – Whether to use HTTPS or HTTP. Note: Some providers only support HTTPS, and it is on by default.host (
str
) – Override hostname used for connections.port (
int
) – Override port used for connections.
- Returns
None
- connectionCls¶
alias of
libcloud.dns.drivers.durabledns.DurableDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
Create a new record.
- Parameters
name (
str
) – Record name without the domain name (e.g. www). Note: If you want to create a record for a base domain name, you should specify empty string (‘’) for this argument.zone (
Zone
) – Zone where the requested record is created.type (
RecordType
) – DNS record type (A, AAAA, …).data (
str
) – Data for the record (depends on the record type).extra (
dict
) – Extra attributes (e.g. ‘aux’, ‘ttl’). (optional)
- Return type
Record
- create_zone(domain, type='master', ttl=None, extra=None)[source]¶
Create a new zone.
- Parameters
domain (
str
) – Name of zone, followed by a dot (.) (e.g. example.com.)type (
str
) – Zone type (Only master available). (optional)ttl (
int
) – TTL for new records. (optional)extra (
dict
) –- Extra attributes (‘mbox’, ‘ns’, ‘minimum’, ‘refresh’,
’expire’, ‘update_acl’, ‘xfer’).
(optional)
- Return type
Zone
- delete_record(record)[source]¶
Delete a record.
- Parameters
record (
Record
) – Record to delete.- Return type
bool
- delete_zone(zone)[source]¶
Delete a zone.
Note: This will delete all the records belonging to this zone.
- Parameters
zone (
Zone
) – Zone to delete.- Return type
bool
- export_zone_to_bind_format(zone)¶
Export Zone object to the BIND compatible format.
- Parameters
zone (
Zone
) – Zone to export.- Returns
Zone data in BIND compatible format.
- Return type
str
- export_zone_to_bind_zone_file(zone, file_path)¶
Export Zone object to the BIND compatible format and write result to a file.
- Parameters
zone (
Zone
) – Zone to export.file_path (
str
) – File path where the output will be saved.
- get_record(zone_id, record_id)[source]¶
Return a Record instance.
- Parameters
zone_id (
str
) – ID of the required zonerecord_id (
str
) – ID of the required record
- Return type
Record
- get_zone(zone_id)[source]¶
Return a Zone instance.
- Parameters
zone_id (
str
) – ID of the required zone- Return type
Zone
- iterate_records(zone)¶
Return a generator to iterate over records for the provided zone.
- Parameters
zone (
Zone
) – Zone to list records for.- Return type
generator
ofRecord
- iterate_zones()¶
Return a generator to iterate over available zones.
- Return type
generator
ofZone
- list_record_types()¶
Return a list of RecordType objects supported by the provider.
- Returns
list
ofRecordType
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone
) – Zone to list records for.- Returns
list
ofRecord
- update_record(record, name, type, data, extra=None)[source]¶
Update an existing record.
- Parameters
record (
Record
) – Record to update.name (
str
) – Record name without the domain name (e.g. www). Note: If you want to create a record for a base domain name, you should specify empty string (‘’) for this argument.type (
RecordType
) – DNS record type (A, AAAA, …).data (
str
) – Data for the record (depends on the record type).extra (
dict
) – (optional) Extra attributes (driver specific).
- Return type
Record
- update_zone(zone, domain, type='master', ttl=None, extra=None)[source]¶
Update an existing zone.
- Parameters
zone (
Zone
) – Zone to update.domain (
str
) – Name of zone, followed by a dot (.) (e.g. example.com.)type (
str
) – Zone type (master / slave).ttl (
int
) – TTL for new records. (optional)extra (
dict
) – Extra attributes (‘ns’, ‘mbox’, ‘refresh’, ‘retry’, ‘expire’, ‘minimum’, ‘xfer’, ‘update_acl’). (optional)
- Return type
Zone