OnApp DNS Driver Documentation¶
OnApp Cloud integrates its fully redundant DNS network into the OnApp Control Panel, so you can manage DNS for your own domains, and your customers’ domains. Its Anycast DNS service is hosted at datacenters around the world, and it’s free of charge for customers running the full version of OnApp Cloud, with CDN enabled. Get fast, fully redundant DNS for free!
Instantiating the driver¶
from libcloud.dns.types import Provider
from libcloud.dns.providers import get_driver
username = 'your account username'
password = 'your account password'
host = 'onapp.test'
cls = get_driver(Provider.ONAPP)
driver = cls(key=username, secret=password, host=host)
API Docs¶
-
class
libcloud.dns.drivers.onapp.
OnAppDNSDriver
(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
¶
-
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 – Data for the record (depends on the record type).
Used only for A and AAAA record types. :type data:
str
Parameters: extra ( dict
) – Extra attributes (driver specific). (optional)Return type: Record
For more info, please see: https://docs.onapp.com/display/52API/Add+DNS+Record
- name (
-
create_zone
(domain, type='master', ttl=None, extra=None)[source]¶ Create a new zone.
Parameters: - domain (
str
) – Zone domain name (e.g. example.com) - type (
str
) – Zone type (All zones are master by design). - ttl (
int
) – TTL for new records. (This is not really used) - extra – Extra attributes (set auto_populate: 0 if you
don’t want to auto populate with existing DNS records). (optional) :type extra:
dict
Return type: Zone
For more info, please see: https://docs.onapp.com/display/52API/Add+DNS+Zone
- domain (
-
delete_record
(record)[source]¶ Delete a record.
Parameters: record ( Record
) – Record to delete.Return type: bool
For more info, please see: https://docs.onapp.com/display/52API/Delete+DNS+Record
-
delete_zone
(zone)[source]¶ Delete a zone.
Note: This will also 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.
- zone (
-
get_record
(zone_id, record_id)[source]¶ Return a Record instance.
Parameters: - zone_id (
str
) – ID of the required zone - record_id (
str
) – ID of the required record
Return type: Record
- zone_id (
-
get_zone
(zone_id)[source]¶ Return a Zone instance.
Parameters: zone_id ( str
) – ID of the required zoneReturn 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 – Data for the record (depends on the record type).
Used only for A and AAAA record types. :type data:
str
Parameters: extra ( dict
) – (optional) Extra attributes (driver specific).Return type: Record
For more info, please see: https://docs.onapp.com/display/52API/Edit+DNS+Records
- record (
-
update_zone
(zone, domain, type='master', ttl=None, extra=None)¶ Update an existing zone.
Parameters: - zone (
Zone
) – Zone to update. - domain (
str
) – Zone domain name (e.g. example.com) - type (
str
) – Zone type (master / slave). - ttl (
int
) – TTL for new records. (optional) - extra (
dict
) – Extra attributes (driver specific). (optional)
Return type: Zone
- zone (
- key (