libcloud.dns package¶
Subpackages¶
- libcloud.dns.drivers package
- Submodules
- libcloud.dns.drivers.auroradns module
- libcloud.dns.drivers.buddyns module
- libcloud.dns.drivers.cloudflare module
- libcloud.dns.drivers.digitalocean module
- libcloud.dns.drivers.dnsimple module
- libcloud.dns.drivers.dnspod module
- libcloud.dns.drivers.dummy module
- libcloud.dns.drivers.durabledns module
- libcloud.dns.drivers.gandi module
- libcloud.dns.drivers.gandi_live module
- libcloud.dns.drivers.godaddy module
- libcloud.dns.drivers.google module
- libcloud.dns.drivers.linode module
- libcloud.dns.drivers.liquidweb module
- libcloud.dns.drivers.luadns module
- libcloud.dns.drivers.nfsn module
- libcloud.dns.drivers.nsone module
- libcloud.dns.drivers.onapp module
- libcloud.dns.drivers.pointdns module
- libcloud.dns.drivers.powerdns module
- libcloud.dns.drivers.rackspace module
- libcloud.dns.drivers.rcodezero module
- libcloud.dns.drivers.route53 module
- libcloud.dns.drivers.vultr module
- libcloud.dns.drivers.worldwidedns module
- libcloud.dns.drivers.zerigo module
- libcloud.dns.drivers.zonomi module
- Module contents
Submodules¶
libcloud.dns.base module¶
-
class
libcloud.dns.base.Zone(id, domain, type, ttl, driver, extra=None)[source]¶ Bases:
objectDNS zone.
Parameters: - id (
str) – Zone id. - domain (
str) – The name of the domain. - type (
str) – Zone type (master, slave). - ttl (
int) – Default TTL for records in this zone (in seconds). - driver (
DNSDriver) – DNSDriver instance. - extra (
dict) – (optional) Extra attributes (driver specific).
- id (
-
class
libcloud.dns.base.Record(id, name, type, data, zone, driver, ttl=None, extra=None)[source]¶ Bases:
objectZone record / resource.
Parameters: - id (
str) – Record id - name (
str) – Hostname or FQDN. - type (
RecordType) – DNS record type (A, AAAA, …). - data (
str) – Data for the record (depends on the record type). - zone (
Zone) – Zone instance. - driver (
DNSDriver) – DNSDriver instance. - ttl (
int) – Record TTL. - extra (
dict) – (optional) Extra attributes (driver specific).
- id (
-
class
libcloud.dns.base.DNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶ Bases:
libcloud.common.base.BaseDriverA base DNSDriver class to derive from
This class is always subclassed by a specific driver.
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-
RECORD_TYPE_MAP= {}¶
-
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 (
str) – Data for the record (depends on the record type). - extra (
dict) – Extra attributes (driver specific). (optional)
Return type: - 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 (master / slave). - ttl (
int) – TTL for new records. (optional) - extra (
dict) – Extra attributes (driver specific). (optional)
Return type: - domain (
-
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)[source]¶ 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)[source]¶ 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: - 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)[source]¶ Return a generator to iterate over records for the provided zone.
Parameters: zone ( Zone) – Zone to list records for.Return type: generatorofRecord
-
iterate_zones()[source]¶ Return a generator to iterate over available zones.
Return type: generatorofZone
-
list_record_types()[source]¶ Return a list of RecordType objects supported by the provider.
Returns: listofRecordType
-
list_records(zone)[source]¶ Return a list of records for the provided zone.
Parameters: zone ( Zone) – Zone to list records for.Returns: listofRecord
-
name= None¶
-
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) – 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 (
-
website= None¶
- key (
libcloud.dns.providers module¶
libcloud.dns.types module¶
-
class
libcloud.dns.types.Provider[source]¶ Bases:
objectDefines for each of the supported providers
Non-Dummy drivers are sorted in alphabetical order. Please preserve this ordering when adding new drivers.
-
AURORADNS= 'auroradns'¶
-
BUDDYNS= 'buddyns'¶
-
CLOUDFLARE= 'cloudflare'¶
-
DIGITAL_OCEAN= 'digitalocean'¶
-
DNSIMPLE= 'dnsimple'¶
-
DNSPOD= 'dnspod'¶
-
DUMMY= 'dummy'¶
-
DURABLEDNS= 'durabledns'¶
-
GANDI= 'gandi'¶
-
GANDI_LIVE= 'gandi_live'¶
-
GODADDY= 'godaddy'¶
-
GOOGLE= 'google'¶
-
LINODE= 'linode'¶
-
LIQUIDWEB= 'liquidweb'¶
-
LUADNS= 'luadns'¶
-
NFSN= 'nfsn'¶
-
NSONE= 'nsone'¶
-
ONAPP= 'onapp'¶
-
POINTDNS= 'pointdns'¶
-
POWERDNS= 'powerdns'¶
-
RACKSPACE= 'rackspace'¶
-
RACKSPACE_UK= 'rackspace_uk'¶
-
RACKSPACE_US= 'rackspace_us'¶
-
RCODEZERO= 'rcodezero'¶
-
ROUTE53= 'route53'¶
-
VULTR= 'vultr'¶
-
WORLDWIDEDNS= 'worldwidedns'¶
-
ZERIGO= 'zerigo'¶
-
ZONOMI= 'zonomi'¶
-
-
class
libcloud.dns.types.RecordType[source]¶ Bases:
objectDNS record type.
-
A= 'A'¶
-
AAAA= 'AAAA'¶
-
AFSDB= 'A'¶
-
ALIAS= 'ALIAS'¶
-
CAA= 'CAA'¶
-
CERT= 'CERT'¶
-
CNAME= 'CNAME'¶
-
DNAME= 'DNAME'¶
-
DNSKEY= 'DNSKEY'¶
-
DS= 'DS'¶
-
GEO= 'GEO'¶
-
HINFO= 'HINFO'¶
-
KEY= 'KEY'¶
-
LOC= 'LOC'¶
-
MX= 'MX'¶
-
NAPTR= 'NAPTR'¶
-
NS= 'NS'¶
-
NSEC= 'NSEC'¶
-
OPENPGPKEY= 'OPENPGPKEY'¶
-
PTR= 'PTR'¶
-
REDIRECT= 'REDIRECT'¶
-
RP= 'RP'¶
-
RRSIG= 'RRSIG'¶
-
SOA= 'SOA'¶
-
SPF= 'SPF'¶
-
SRV= 'SRV'¶
-
SSHFP= 'SSHFP'¶
-
TLSA= 'TLSA'¶
-
TXT= 'TXT'¶
-
URL= 'URL'¶
-
WKS= 'WKS'¶
-
-
exception
libcloud.dns.types.ZoneError(value, driver, zone_id)[source]¶ Bases:
libcloud.common.types.LibcloudError-
error_type= 'ZoneError'¶
-
kwargs= ('zone_id',)¶
-
-
exception
libcloud.dns.types.ZoneDoesNotExistError(value, driver, zone_id)[source]¶ Bases:
libcloud.dns.types.ZoneError-
error_type= 'ZoneDoesNotExistError'¶
-
-
exception
libcloud.dns.types.ZoneAlreadyExistsError(value, driver, zone_id)[source]¶ Bases:
libcloud.dns.types.ZoneError-
error_type= 'ZoneAlreadyExistsError'¶
-
-
exception
libcloud.dns.types.RecordError(value, driver, record_id)[source]¶ Bases:
libcloud.common.types.LibcloudError-
error_type= 'RecordError'¶
-
-
exception
libcloud.dns.types.RecordDoesNotExistError(value, driver, record_id)[source]¶ Bases:
libcloud.dns.types.RecordError-
error_type= 'RecordDoesNotExistError'¶
-
-
exception
libcloud.dns.types.RecordAlreadyExistsError(value, driver, record_id)[source]¶ Bases:
libcloud.dns.types.RecordError-
error_type= 'RecordAlreadyExistsError'¶
-