libcloud.dns package¶
Subpackages¶
- libcloud.dns.drivers package
- Submodules
- libcloud.dns.drivers.dummy module
- libcloud.dns.drivers.gandi module
- libcloud.dns.drivers.google module
- libcloud.dns.drivers.hostvirtual module
- libcloud.dns.drivers.linode module
- libcloud.dns.drivers.rackspace module
- libcloud.dns.drivers.route53 module
- libcloud.dns.drivers.zerigo module
- Module contents
Submodules¶
libcloud.dns.base module¶
- class libcloud.dns.base.Zone(id, domain, type, ttl, driver, extra=None)[source]¶
Bases: object
DNS 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).
- class libcloud.dns.base.Record(id, name, type, data, zone, driver, extra=None)[source]¶
Bases: object
Zone record / resource.
Parameters:
- class libcloud.dns.base.DNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases: libcloud.common.base.BaseDriver
A 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) – Weither 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¶
alias of ConnectionUserAndKey
- 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:
- 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:
- 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.
- 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:
- get_zone(zone_id)[source]¶
Return a Zone instance.
Parameters: zone_id (str) – ID of the required zone Return 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: generator of Record
- iterate_zones()[source]¶
Return a generator to iterate over available zones.
Return type: generator of Zone
- list_record_types()[source]¶
Return a list of RecordType objects supported by the provider.
Returns: list of RecordType
- list_records(zone)[source]¶
Return a list of records for the provided zone.
Parameters: zone (Zone) – Zone to list records for. Returns: list of Record
- name = None¶
- update_record(record, name, type, data, extra)[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:
- update_zone(zone, domain, type='master', ttl=None, extra=None)[source]¶
Update en 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:
- website = None¶
libcloud.dns.providers module¶
libcloud.dns.types module¶
- class libcloud.dns.types.Provider[source]¶
Bases: object
- DUMMY = 'dummy'¶
- GANDI = 'gandi'¶
- GOOGLE = 'google'¶
- HOSTVIRTUAL = 'hostvirtual'¶
- LINODE = 'linode'¶
- RACKSPACE = 'rackspace'¶
- RACKSPACE_UK = 'rackspace_uk'¶
- RACKSPACE_US = 'rackspace_us'¶
- ROUTE53 = 'route53'¶
- ZERIGO = 'zerigo'¶
- class libcloud.dns.types.RecordType[source]¶
Bases: object
DNS record type.
- A = 'A'¶
- AAAA = 'AAAA'¶
- CNAME = 'CNAME'¶
- DNAME = 'DNAME'¶
- GEO = 'GEO'¶
- LOC = 'LOC'¶
- MX = 'MX'¶
- NAPTR = 'NAPTR'¶
- NS = 'NS'¶
- PTR = 'PTR'¶
- REDIRECT = 'REDIRECT'¶
- SOA = 'SOA'¶
- SPF = 'SPF'¶
- SRV = 'SRV'¶
- 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'¶