libcloud.dns.drivers package¶
Submodules¶
libcloud.dns.drivers.auroradns module¶
AuroraDNS DNS Driver
- class libcloud.dns.drivers.auroradns.AuroraDNSConnection(user_id, key, secure=True, host=None, port=None, url=None, timeout=None, proxy_url=None, backoff=None, retry_delay=None)[source]¶
Bases:
libcloud.common.base.ConnectionUserAndKeyInitialize user_id and key; set secure to an
intbased on passed value.- host = 'api.auroradns.eu'¶
- request(action, params=None, data='', headers=None, method='GET')[source]¶
Request a given action.
Basically a wrapper around the connection object’s request that does some helpful pre-processing.
- Parameters
action (
str) – A path. This can include arguments. If included, any extra parameters are appended to the existing ones.params (
dict) – Optional mapping of additional parameters to send. If None, leave as an emptydict.data (
unicode) – A body of data to send with the request.headers (
dict) – Extra headers to add to the request None, leave as an emptydict.method (
str) – An HTTP method such as “GET” or “POST”.raw (
bool) – True to perform a “raw” request aka only send the headers and use the rawResponseCls class. This is used with storage API when uploading a file.stream (
bool) – True to return an iterator in Response.iter_content and allow streaming of the response data (for downloading large files)retry_failed – True if failed requests should be retried. This argument can override module level constant and environment variable value on per-request basis.
- Returns
An
Responseinstance.- Return type
Responseinstance
- responseCls¶
- class libcloud.dns.drivers.auroradns.AuroraDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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
- HEALTHCHECK_TYPE_MAP = {'HTTP': 'HTTP', 'HTTPS': 'HTTPS', 'TCP': 'TCP'}¶
- RECORD_TYPE_MAP = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'DS': 'DS', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SOA': 'SOA', 'SRV': 'SRV', 'SSHFP': 'SSHFP', 'TLSA': 'TLSA', 'TXT': 'TXT'}¶
- 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
Record
- 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
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
- ex_create_healthcheck(zone, type, hostname, port, path, interval, threshold, ipaddress=None, enabled=True, extra=None)[source]¶
Create a new Health Check in a zone
- Parameters
zone (
Zone) – Zone in which the health check should be createdtype (
AuroraDNSHealthCheckType) – The type of health check to be createdhostname (
str) – The hostname of the target to monitorport (
int) – The port of the target to monitor. E.g. 80 for HTTPpath (
str) – The path of the target to monitor. Only used by HTTP at this moment. Usually this is simple /.interval (
int) – The interval of checks. 10, 30 or 60 seconds.threshold (
int) – The threshold of failures before the healthcheck is marked as failed.ipaddress (
str) – (optional) The IP Address of the target to monitor. You can pass a empty string if this is not required.enabled (
bool) – (optional) If this healthcheck is enabled to runextra (
dict) – (optional) Extra attributes (driver specific).
- Returns
- ex_delete_healthcheck(healthcheck)[source]¶
Remove an existing Health Check
- Parameters
zone (
AuroraDNSHealthCheck) – The healthcheck which has to be removed
- ex_get_healthcheck(zone, health_check_id)[source]¶
Get a single Health Check from a zone
- Parameters
zone (
Zone) – Zone in which the health check ishealth_check_id (
str) – ID of the required health check
- Returns
- ex_list_healthchecks(zone)[source]¶
List all Health Checks in a zone.
- Parameters
zone (
Zone) – Zone to list health checks for.- Returns
listofAuroraDNSHealthCheck
- ex_update_healthcheck(healthcheck, type=None, hostname=None, ipaddress=None, port=None, path=None, interval=None, threshold=None, enabled=None, extra=None)[source]¶
Update an existing Health Check
- Parameters
zone (
AuroraDNSHealthCheck) – The healthcheck which has to be updatedtype (
AuroraDNSHealthCheckType) – (optional) The type of health check to be createdhostname (
str) – (optional) The hostname of the target to monitoripaddress (
str) – (optional) The IP Address of the target to monitor. You can pass a empty string if this is not required.port (
int) – (optional) The port of the target to monitor. E.g. 80 for HTTPpath (
str) – (optional) The path of the target to monitor. Only used by HTTP at this moment. Usually just ‘/’.interval (
int) – (optional) The interval of checks. 10, 30 or 60 seconds.threshold (
int) – (optional) The threshold of failures before the healthcheck is marked as failed.enabled (
bool) – (optional) If this healthcheck is enabled to runextra (
dict) – (optional) Extra attributes (driver specific).
- Returns
- 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)[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
- name = 'AuroraDNS'¶
- 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
- website = 'https://www.pcextreme.nl/en/aurora/dns'¶
- class libcloud.dns.drivers.auroradns.AuroraDNSHealthCheck(id, type, hostname, ipaddress, port, interval, path, threshold, health, enabled, zone, driver, extra=None)[source]¶
Bases:
objectAuroraDNS Healthcheck resource.
- Parameters
id (
str) – Healthcheck idhostname (
str) – Hostname or FQDN of the targetipaddress (
str) – IPv4 or IPv6 address of the targetport (
int) – The port on the target to monitorinterval (
int) – The interval of the health checkpath (
str) – The path to monitor on the targetthreshold (
int) – The threshold of before marking a check as failedhealth (
bool) – The current health of the health checkenabled (
bool) – If the health check is currently enabledzone (
Zone) – Zone instance.driver (
DNSDriver) – DNSDriver instance.extra (
dict) – (optional) Extra attributes (driver specific).
- class libcloud.dns.drivers.auroradns.AuroraDNSHealthCheckType[source]¶
Bases:
objectHealthcheck type.
- HTTP = 'HTTP'¶
- HTTPS = 'HTTPS'¶
- TCP = 'TCP'¶
- class libcloud.dns.drivers.auroradns.AuroraDNSResponse(response, connection)[source]¶
Bases:
libcloud.common.base.JsonResponse- Parameters
response (
httplib.HTTPResponse) – HTTP response object. (optional)connection (
Connection) – Parent connection object.
- exception libcloud.dns.drivers.auroradns.HealthCheckDoesNotExistError(value, driver, health_check_id)[source]¶
Bases:
libcloud.dns.drivers.auroradns.HealthCheckError- error_type = 'HealthCheckDoesNotExistError'¶
- exception libcloud.dns.drivers.auroradns.HealthCheckError(value, driver, health_check_id)[source]¶
Bases:
libcloud.common.types.LibcloudError- error_type = 'HealthCheckError'¶
libcloud.dns.drivers.buddyns module¶
BuddyNS DNS Driver
- class libcloud.dns.drivers.buddyns.BuddyNSDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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.buddyns.BuddyNSDNSConnection
- create_zone(domain, type='master', ttl=None, extra=None)[source]¶
- Parameters
domain (
str) – Zone domain name (e.g. example.com)type (
str) – Zone type (This is not really used. See API docs for extra parameters)ttl (
int) – TTL for new records (This is used through the extra param)extra – Extra attributes that are specific to the driver
such as ttl. :type extra:
dict- Return type
Zone
Do not forget to pass the master in extra, extra = {‘master’:’65.55.37.62’} for example.
- name = 'BuddyNS DNS'¶
- type = 'buddyns'¶
- website = 'https://www.buddyns.com'¶
libcloud.dns.drivers.cloudflare module¶
- class libcloud.dns.drivers.cloudflare.CloudFlareDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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
- MEMBERSHIPS_PAGE_SIZE = 50¶
- RECORDS_PAGE_SIZE = 100¶
- RECORD_TYPE_MAP = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'SPF': 'SPF', 'SRV': 'SRV', 'TXT': 'TXT', 'URL': 'LOC'}¶
- ZONES_PAGE_SIZE = 50¶
- connectionCls¶
alias of
libcloud.dns.drivers.cloudflare.GlobalAPIKeyDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
@inherits:
DNSDriver.create_recordNote that for
extrarecord properties, only the ones specified inRECORD_CREATE_ATTRIBUTEScan be set at creation time. Any non-settable properties are ignored.NOTE: For CAA RecordType, data needs to be in the following format: <flags> <tag> <ca domain name> where the tag can be issue, issuewild or iodef.
For example: 0 issue test.caa.com
NOTE: For SSHFP RecordType, data need to be in the format: <algorithm> <type> <fingerprint>
- create_zone(domain, type='master', ttl=None, extra=None)[source]¶
@inherits:
DNSDriver.create_zoneNote that for users who have more than one account membership, the id of the account in which to create the zone must be specified via the
extrakeyaccount.Note that for
extrazone properties, only the ones specified inZONE_CREATE_ATTRIBUTEScan be set at creation time. Additionally, setting the ``ttl` property is not supported.
- 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
- 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)[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
- name = 'CloudFlare DNS'¶
- type = 'cloudflare'¶
- update_record(record, name=None, type=None, data=None, extra=None)[source]¶
@inherits:
DNSDriver.update_recordNote that for
extrarecord properties, only the ones specified inRECORD_UPDATE_ATTRIBUTEScan be updated. Any non-updatable properties are ignored.
- update_zone(zone, domain, type='master', ttl=None, extra=None)[source]¶
@inherits:
DNSDriver.update_zoneNote that the
zone,typeandttlproperties can’t be updated. The only updatable properties are theextrazone properties specified inZONE_UPDATE_ATTRIBUTES. Only one property may be updated at a time. Any non-updatable properties are ignored.
- website = 'https://www.cloudflare.com'¶
libcloud.dns.drivers.digitalocean module¶
Digital Ocean DNS Driver
- class libcloud.dns.drivers.digitalocean.DigitalOceanDNSDriver(key, secret=None, api_version='v2', **kwargs)[source]¶
Bases:
libcloud.common.digitalocean.DigitalOcean_v2_BaseDriver,libcloud.dns.base.DNSDriver- Parameters
key (
str) – API key or username to be 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.api_version (
str) – Optional API version. Only used by drivers which support multiple API versions.region (
str) – Optional driver region. Only used by drivers which support multiple regions.
- Return type
None
- RECORD_TYPE_MAP = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.common.digitalocean.DigitalOcean_v2_Connection
- 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 for MX and SRV. (Depends on record) {“priority” : 0, “port” : 443, “weight” : 100}
- Return type
Record
- 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) (does nothing).ttl (
int) – TTL for new records. (does nothing)extra (
dict) – Extra attributes (to set ip). (optional) Note: This can be used to set the default A record with {“ip” : “IP.AD.DR.ESS”} otherwise 127.0.0.1 is used
- 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
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'DigitalOcean'¶
- type = 'digitalocean'¶
- update_record(record, name=None, type=None, data=None, extra=None)[source]¶
Update an existing record.
- Parameters
record (
Record) – Record to update.name (
str) – Record name without the domain name (e.g. www). (Ignored) Note: The value is pulled from the record being updatedtype (
RecordType) – DNS record type (A, AAAA, …). (Ignored) Note: Updating records does not support changing type so this value is ignoreddata (
str) – Data for the record (depends on the record type).extra (
dict) – (optional) Extra attributes (driver specific).
- Return type
Record
- website = 'https://www.digitalocean.com'¶
libcloud.dns.drivers.dnsimple module¶
DNSimple DNS Driver
- class libcloud.dns.drivers.dnsimple.DNSimpleDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'ALIAS': 'ALIAS', 'CNAME': 'CNAME', 'HINFO': 'HINFO', 'MX': 'MX', 'NAPTR': 'NAPTR', 'NS': 'NS', 'POOL': 'POOL', 'SOA': 'SOA', 'SPF': 'SPF', 'SRV': 'SRV', 'SSHFP': 'SSHFP', 'TXT': 'TXT', 'URL': 'URL'}¶
- 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
Record
- 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 (
dict) – Extra attributes (driver specific). (optional)
- Return type
Zone
For more info, please see: http://developer.dnsimple.com/v1/domains/
- 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
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'DNSimple'¶
- type = 'dnsimple'¶
- 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
- website = 'https://dnsimple.com/'¶
libcloud.dns.drivers.dnspod module¶
- class libcloud.dns.drivers.dnspod.DNSPodDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SOA': 'SOA', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.dnspod.DNSPodDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
Create a 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 which the records will be created for.type (
RecordType) – DNS record type ( ‘A’, ‘AAAA’, ‘CNAME’, ‘MX’, ‘NS’, ‘PTR’, ‘SOA’, ‘SRV’, ‘TXT’).data (
str) – Data for the record (depends on the record type).extra (
dict) – (optional) Extra attributes (‘prio’, ‘ttl’).
- Return type
Record
- create_zone(domain, type='master', ttl=None, extra=None)[source]¶
- Parameters
domain (
str) – Zone domain name (e.g. example.com)type (
str) – Zone type (This is not really used. See API docs for extra parameters)ttl (
int) – TTL for new records (This is used through the extra param)extra – Extra attributes that are specific to the driver
such as ttl. :type extra:
dict- Return type
Zone
- delete_record(record)[source]¶
Delete a record.
- Parameters
record (
Record) – Record to delete.- Return type
bool
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'DNSPod'¶
- type = 'dnspod'¶
- website = 'https://dnspod.com'¶
libcloud.dns.drivers.dummy module¶
- class libcloud.dns.drivers.dummy.DummyDNSDriver(api_key, api_secret)[source]¶
Bases:
libcloud.dns.base.DNSDriverDummy DNS driver.
>>> from libcloud.dns.drivers.dummy import DummyDNSDriver >>> driver = DummyDNSDriver('key', 'secret') >>> driver.name 'Dummy DNS Provider'
- Parameters
api_key (
str) – API key or username to used (required)api_secret (
str) – Secret password to be used (required)
- Return type
None
- create_record(name, zone, type, data, extra=None)[source]¶
>>> driver = DummyDNSDriver('key', 'secret') >>> zone = driver.create_zone(domain='apache.org', type='master', ... ttl=100) >>> record = driver.create_record(name='libcloud', zone=zone, ... type=RecordType.A, data='127.0.0.1') >>> record <Record: zone=apache.org, name=libcloud, type=A, data=127.0.0.1...> >>> record = driver.create_record(name='libcloud', zone=zone, ... type=RecordType.A, data='127.0.0.1') ... Traceback (most recent call last): RecordAlreadyExistsError:
@inherits:
DNSDriver.create_record
- create_zone(domain, type='master', ttl=None, extra=None)[source]¶
>>> driver = DummyDNSDriver('key', 'secret') >>> zone = driver.create_zone(domain='apache.org', type='master', ... ttl=100) >>> zone <Zone: domain=apache.org, ttl=100, provider=Dummy DNS Provider ...> >>> zone = driver.create_zone(domain='apache.org', type='master', ... ttl=100) ... Traceback (most recent call last): ZoneAlreadyExistsError:
@inherits:
DNSDriver.create_zone
- delete_record(record)[source]¶
>>> driver = DummyDNSDriver('key', 'secret') >>> zone = driver.create_zone(domain='apache.org', type='master', ... ttl=100) >>> record = driver.create_record(name='libcloud', zone=zone, ... type=RecordType.A, data='127.0.0.1') >>> driver.delete_record(record) True >>> driver.delete_record(record) Traceback (most recent call last): RecordDoesNotExistError:
@inherits:
DNSDriver.delete_record
- delete_zone(zone)[source]¶
>>> driver = DummyDNSDriver('key', 'secret') >>> zone = driver.create_zone(domain='apache.org', type='master', ... ttl=100) >>> driver.delete_zone(zone) True >>> driver.delete_zone(zone) Traceback (most recent call last): ZoneDoesNotExistError:
@inherits:
DNSDriver.delete_zone
- get_record(zone_id, record_id)[source]¶
>>> driver = DummyDNSDriver('key', 'secret') >>> driver.get_record(zone_id='doesnotexist', record_id='exists') ... Traceback (most recent call last): ZoneDoesNotExistError:
@inherits:
DNSDriver.get_record
- get_zone(zone_id)[source]¶
>>> driver = DummyDNSDriver('key', 'secret') >>> driver.get_zone(zone_id='foobar') ... Traceback (most recent call last): ZoneDoesNotExistError:
@inherits:
DNSDriver.get_zone
- list_record_types()[source]¶
>>> driver = DummyDNSDriver('key', 'secret') >>> driver.list_record_types() ['A']
@inherits:
DNSDriver.list_record_types
- list_records(zone)[source]¶
>>> driver = DummyDNSDriver('key', 'secret') >>> zone = driver.create_zone(domain='apache.org', type='master', ... ttl=100) >>> list(zone.list_records()) [] >>> record = driver.create_record(name='libcloud', zone=zone, ... type=RecordType.A, data='127.0.0.1') >>> list(zone.list_records()) [<Record: zone=apache.org, name=libcloud, type=A...>]
- list_zones()[source]¶
>>> driver = DummyDNSDriver('key', 'secret') >>> driver.list_zones() []
@inherits:
DNSDriver.list_zones
- name = 'Dummy DNS Provider'¶
- website = 'http://example.com'¶
libcloud.dns.drivers.durabledns module¶
DurableDNS Driver
- class libcloud.dns.drivers.durabledns.DurableDNSConnection(user_id, key, secure=True, host=None, port=None, url=None, timeout=None, proxy_url=None, backoff=None, retry_delay=None)[source]¶
Bases:
libcloud.common.durabledns.DurableConnectionInitialize user_id and key; set secure to an
intbased on passed value.- responseCls¶
- class libcloud.dns.drivers.durabledns.DurableDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'HINFO': 'HINFO', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'RP': 'RP', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- 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
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'DurableDNS'¶
- type = 'durabledns'¶
- 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
- website = 'https://durabledns.com'¶
- class libcloud.dns.drivers.durabledns.DurableDNSResponse(response, connection)[source]¶
Bases:
libcloud.common.durabledns.DurableResponse- Parameters
response (
httplib.HTTPResponse) – HTTP response object. (optional)connection (
Connection) – Parent connection object.
libcloud.dns.drivers.gandi module¶
- class libcloud.dns.drivers.gandi.GandiDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.common.gandi.BaseGandiDriver,libcloud.dns.base.DNSDriverAPI reference can be found at:
http://doc.rpc.gandi.net/domain/reference.html
- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'LOC': 'LOC', 'MX': 'MX', 'NS': 'NS', 'SPF': 'SPF', 'SRV': 'SRV', 'TXT': 'TXT', 'WKS': 'WKS'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.gandi.GandiDNSConnection
- 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
Record
- 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
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
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'Gandi DNS'¶
- type = 'gandi'¶
- 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
Record
- update_zone(zone, domain=None, type=None, 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 = 'http://www.gandi.net/domain'¶
libcloud.dns.drivers.gandi_live module¶
- class libcloud.dns.drivers.gandi_live.GandiLiveDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.common.gandi_live.BaseGandiLiveDriver,libcloud.dns.base.DNSDriverAPI reference can be found at:
https://doc.livedns.gandi.net/
Please note that the Libcloud paradigm of one zone per domain does not match exactly with Gandi LiveDNS. For Gandi, a “zone” can apply to multiple domains. This driver behaves as if the domain is a zone, but be warned that modifying a domain means modifying the zone. Iif you have a zone associated with mutiple domains, all of those domains will be modified as well.
- 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 = {'A': 'A', 'AAAA': 'AAAA', 'ALIAS': 'ALIAS', 'CAA': 'CAA', 'CNAME': 'CNAME', 'DNAME': 'DNAME', 'DS': 'DS', 'KEY': 'KEY', 'LOC': 'LOC', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SPF': 'SPF', 'SRV': 'SRV', 'SSHFP': 'SSHFP', 'TLSA': 'TLSA', 'TXT': 'TXT', 'WKS': 'WKS'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.gandi_live.GandiLiveDNSConnection
- 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
Record
- 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
Zone
- delete_record(record)[source]¶
Delete a record.
- Parameters
record (
Record) – Record 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
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'Gandi LiveDNS'¶
- type = 'gandi'¶
- 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
Record
- website = 'http://www.gandi.net/domain'¶
libcloud.dns.drivers.godaddy module¶
- class libcloud.dns.drivers.godaddy.GoDaddyDNSDriver(shopper_id, key, secret, secure=True, host=None, port=None)[source]¶
Bases:
libcloud.dns.base.DNSDriverA driver for GoDaddy DNS.
This is for customers of GoDaddy who wish to purchase, update existing domains and manage records for DNS zones owned by GoDaddy NS servers.
Instantiate a new GoDaddyDNSDriver
- Parameters
shopper_id (
str) – Your customer ID or shopper ID with GoDaddykey (
str) – Your access key from developer.godaddy.comsecret (
str) – Your access key secret
- RECORD_TYPE_MAP = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'SPF', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.godaddy.GoDaddyDNSConnection
- 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
Record
- delete_zone(zone)[source]¶
Delete a zone.
Note: This will CANCEL a purchased domain
- Parameters
zone (
Zone) – Zone to delete.- Return type
bool
- ex_check_availability(domain, for_transfer=False)[source]¶
Check the availability of the domain
- Parameters
domain (
str) – the domain name e.g. wazzlewobbleflooble.comfor_transfer (
bool) – Check if domain is available for transfer
- Return type
list of
GoDaddyAvailability
- ex_get_agreements(tld, privacy=True)[source]¶
Get the legal agreements for a tld Use this in conjunction with ex_purchase_domain
- Parameters
tld (
str) – The top level domain e.g com, eu, uk- Return type
dict the JSON Schema
- ex_get_purchase_schema(tld)[source]¶
Get the schema that needs completing to purchase a new domain Use this in conjunction with ex_purchase_domain
- Parameters
tld (
str) – The top level domain e.g com, eu, uk- Return type
dict the JSON Schema
- ex_purchase_domain(purchase_request)[source]¶
Purchase a domain with GoDaddy
- Parameters
purchase_request (
dict) – The completed document from ex_get_purchase_schema- Return type
GoDaddyDomainPurchaseResponseYour order
- 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]¶
Get a zone (by domain)
- Parameters
zone_id (
str) – The domain, not the ID- Return type
Zone
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'GoDaddy DNS'¶
- type = 'godaddy'¶
- 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
- website = 'https://www.godaddy.com/'¶
libcloud.dns.drivers.google module¶
- class libcloud.dns.drivers.google.GoogleDNSDriver(user_id, key, project=None, auth_type=None, scopes=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CAA': 'CAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SOA': 'SOA', 'SPF': 'SPF', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.google.GoogleDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
Create a new record.
- Parameters
name (
str) – Record name fully qualified, with a ‘.’ at the end.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. (optional)
- Return type
Record
- create_zone(domain, type='master', ttl=None, extra=None)[source]¶
Create a new zone.
- Parameters
domain (
str) – Zone domain name (e.g. example.com.) with a ‘.’ at the end.type (
str) – Zone type (master is the only one supported).ttl (
int) – TTL for new records. (unused)extra (
dict) – Extra attributes (driver specific). (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
- ex_bulk_record_changes(zone, records)[source]¶
Bulk add and delete records.
- Parameters
zone (
Zone) – Zone where the requested record changes are done.records – Dictionary of additions list or deletions list, or both
- of resourceRecordSets. For example:
- {‘additions’: [{‘rrdatas’: [‘127.0.0.1’],
‘kind’: ‘dns#resourceRecordSet’, ‘type’: ‘A’, ‘name’: ‘www.example.com.’, ‘ttl’: ‘300’}],
- ‘deletions’: [{‘rrdatas’: [‘127.0.0.1’],
‘kind’: ‘dns#resourceRecordSet’, ‘type’: ‘A’, ‘name’: ‘www2.example.com.’, ‘ttl’: ‘300’}]}
- Returns
A dictionary of Record additions and deletions.
- Return type
dictof additions and deletions ofRecord
- 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)[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
- name = 'Google DNS'¶
- type = 'google'¶
- website = 'https://cloud.google.com/'¶
libcloud.dns.drivers.hostvirtual module¶
- class libcloud.dns.drivers.hostvirtual.HostVirtualDNSDriver(key, secure=True, host=None, port=None)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'SPF', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.hostvirtual.HostVirtualDNSConnection
- 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
Record
- create_zone(domain, type='NATIVE', 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
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
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'Host Virtual DNS'¶
- type = 'hostvirtual'¶
- update_record(record, name=None, type=None, data=None, 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=None, type=None, 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 = 'https://www.hostvirtual.com/'¶
libcloud.dns.drivers.linode module¶
- class libcloud.dns.drivers.linode.LinodeDNSDriver(key, secret=None, secure=True, host=None, port=None, api_version='4.0', **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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
- name = 'Linode DNS'¶
- type = 'linode'¶
- website = 'http://www.linode.com/'¶
libcloud.dns.drivers.liquidweb module¶
Liquid Web DNS Driver
- class libcloud.dns.drivers.liquidweb.LiquidWebDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SOA': 'SOA', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.liquidweb.LiquidWebDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
Create a 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 which the records will be created for.type (
RecordType) – DNS record type ( ‘A’, ‘AAAA’, ‘CNAME’, ‘MX’, ‘NS’, ‘PTR’, ‘SOA’, ‘SRV’, ‘TXT’).data (
str) – Data for the record (depends on the record type).extra (
dict) – (optional) Extra attributes (‘prio’, ‘ttl’).
- Return type
Record
- 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 (This is not really used. See API docs for extra parameters).ttl (
int) – TTL for new records. (This is not really used)extra (
dict) – Extra attributes (driver specific). (‘region_support’, ‘zone_data’)
- Return type
Zone
For more info, please see: https://www.liquidweb.com/storm/api/docs/v1/Network/DNS/Zone.html
- 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
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'Liquidweb DNS'¶
- type = 'liquidweb'¶
- 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’, ‘CNAME’, ‘MX’, ‘NS’, ‘PTR’, ‘SOA’, ‘SRV’, ‘TXT’).data (
str) – Data for the record (depends on the record type).extra (
dict) – (optional) Extra attributes (‘name’, ‘rdata’, ‘prio’, ‘ttl’).
- Return type
Record
- website = 'https://www.liquidweb.com'¶
libcloud.dns.drivers.luadns module¶
- class libcloud.dns.drivers.luadns.LuadnsDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SOA': 'SOA', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.luadns.LuadnsDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
Create a 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 which the records will be created for.type (
RecordType) – DNS record type ( ‘A’, ‘AAAA’, ‘CNAME’, ‘MX’, ‘NS’, ‘PTR’, ‘SOA’, ‘SRV’, ‘TXT’).data (
str) – Data for the record (depends on the record type).extra (
dict) – (optional) Extra attributes (‘prio’, ‘ttl’).
- Return type
Record
- 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 (This is not really used. See API docs for extra parameters).ttl (
int) – TTL for new records. (This is not really used)extra (
dict) – Extra attributes (driver specific). (‘region_support’, ‘zone_data’)
- 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
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'Luadns'¶
- type = 'luadns'¶
- website = 'https://www.luadns.com'¶
libcloud.dns.drivers.nfsn module¶
NFSN DNS Driver
- class libcloud.dns.drivers.nfsn.NFSNDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.common.nfsn.NFSNConnection
- 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, MX, TXT).data (
str) – Data for the record (depends on the record type).extra (
dict) – Extra attributes (driver specific, e.g. ‘ttl’). (optional)
- Return type
Record
- delete_record(record)[source]¶
Use this method to delete a record.
- Parameters
record (Record) – record to delete
- Return type
Bool
- ex_get_records_by(zone, name=None, type=None)[source]¶
Return a list of records for the provided zone, filtered by name and/or type.
- Parameters
zone (
Zone) – Zone to list records for.zone – Zone where the requested records are found.
name (
str) – name of the records, for example “www”. (optional)type (
RecordType) – DNS record type (A, MX, TXT). (optional)
- Returns
listofRecord
- get_zone(zone_id)[source]¶
Return a Zone instance.
- Parameters
zone_id (
str) – name of the required zone, for example “example.com”.- Return type
Zone- Raises
ZoneDoesNotExistError: If no zone could be found.
- list_records(zone)[source]¶
Return a list of all records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'NFSN DNS'¶
- type = 'nfsn'¶
- website = 'https://www.nearlyfreespeech.net'¶
libcloud.dns.drivers.nsone module¶
- class libcloud.dns.drivers.nsone.NsOneDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SOA': 'SOA', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.nsone.NsOneDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
- Parameters
name (
str) – Name of the record to create (e.g. foo).zone (
Zone) – Zone where the record should be created.type (
str) – Type of record (e.g. A, MX etc)data (
str) – Data of the record (e.g. 127.0.0.1 for the A record)extra (
dict) – Extra data needed to create different types of records
- Returns
Record
- create_zone(domain, type='master', ttl=None, extra=None)[source]¶
- Parameters
domain (
str) – Zone domain name (e.g. example.com)type (
str) – Zone type (This is not really used. See API docs for extra parameters)ttl (
int) – TTL for new records (This is used through the extra param)extra – Extra attributes that are specific to the driver
such as ttl. :type extra:
dict- Return type
Zone
- ex_zone_exists(zone_id, zones_list)[source]¶
Function to check if a Zone object exists. :param zone_id: ID of the Zone object. :type zone_id:
str- Parameters
zones_list (
list.) – A list containing Zone objects.- Return type
Returns True or False.
- get_record(zone_id, record_id)[source]¶
- Parameters
zone_id – The id of the zone where to search for
the record (e.g. example.com) :type zone_id:
str:param record_id: The type of record to search for (e.g. A, AAA, MX etc)- Returns
Record
- list_records(zone)[source]¶
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'NS1 DNS'¶
- type = 'nsone'¶
- update_record(record, name, type, data, extra=None)[source]¶
- Parameters
record (
Record) – Record to updatename (
str) – Name of the record to update (e.g. foo).type (
str) – Type of record (e.g. A, MX etc)data (
str) – Data of the record (e.g. 127.0.0.1 for the A record)extra (
dict) – Extra data needed to create different types of records
- Returns
Record
- website = 'https://ns1.com'¶
libcloud.dns.drivers.onapp module¶
OnApp DNS Driver
- class libcloud.dns.drivers.onapp.OnAppDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'SOA': 'SOA', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- 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
- 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
- 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
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'OnApp'¶
- type = 'onapp'¶
- 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
- website = 'http://onapp.com/'¶
libcloud.dns.drivers.pointdns module¶
Point DNS Driver
- class libcloud.dns.drivers.pointdns.MailRedirect(id, source, destination, zone, driver)[source]¶
Bases:
objectPoint DNS mail redirect.
- Parameters
id (
str) – MailRedirect id.source (
str) – The source address of mail redirect.destination (
str) – The destination address of mail redirect.zone (
Zone) – Zone where mail redirect belongs.driver (
DNSDriver) – DNSDriver instance.
- class libcloud.dns.drivers.pointdns.PointDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'ALIAS': 'ALIAS', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SRV': 'SRV', 'SSHFP': 'SSHFP', 'TXT': 'TXT'}¶
- 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
Record
- 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. (optional)extra (
dict) – Extra attributes (driver specific). (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
- ex_create_mail_redirect(destination, source, zone)[source]¶
- Parameters
destination (
str) – The destination address of mail redirect.source (
str) – The source address of mail redirect.zone (
Zone) – Zone to list redirects for.
- Return type
listofMailRedirect
- ex_create_redirect(redirect_to, name, type, zone, iframe=None, query=None)[source]¶
- Parameters
redirect_to (
str) – The data field. (redirect_to)name (
str) – The FQDN for the record.type (
str) – The type of redirects 301, 302 or 0 for iframes.zone (
Zone) – Zone to list redirects for.iframe (
str) – Title of iframe (optional).query (
bool) – boolean Information about including query string when redirecting. (optional).
- Return type
Record
- ex_delete_mail_redirect(mail_r)[source]¶
- Parameters
mail_r (
MailRedirect) – Mail redirect to update- Return type
bool
- ex_delete_redirect(redirect)[source]¶
- Parameters
mail_r (
Redirect) – Redirect to delete- Return type
bool
- ex_get_mail_redirects(zone_id, mail_r_id)[source]¶
- Parameters
zone (
Zone) – Zone to list redirects for.mail_r_id (
str) – Mail redirect id.
- Return type
listofMailRedirect
- ex_get_redirect(zone_id, redirect_id)[source]¶
- Parameters
zone (
Zone) – Zone to list redirects for.redirect_id (
str) – Redirect id.
- Return type
listofRedirect
- ex_list_mail_redirects(zone)[source]¶
- Parameters
zone (
Zone) – Zone to list redirects for.- Return type
listofMailRedirect
- ex_list_redirects(zone)[source]¶
- Parameters
zone (
Zone) – Zone to list redirects for.- Return type
listofRecord
- ex_update_mail_redirect(mail_r, destination, source=None)[source]¶
- Parameters
mail_r (
MailRedirect) – Mail redirect to updatedestination (
str) – The destination address of mail redirect.source (
str) – The source address of mail redirect. (optional)
- Return type
listofMailRedirect
- ex_update_redirect(redirect, redirect_to=None, name=None, type=None, iframe=None, query=None)[source]¶
- Parameters
redirect – Record to update
redirect_to (
str) – The data field. (optional).name (
str) – The FQDN for the record.type (
str) – The type of redirects 301, 302 or 0 for iframes. (optional).iframe (
str) – Title of iframe (optional).query (
bool) – boolean Information about including query string when redirecting. (optional).
- Return type
listofRedirect
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'Point DNS'¶
- type = 'pointdns'¶
- 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 (All zones are master by design).ttl (
int) – TTL for new records. (optional)extra (
dict) – Extra attributes (group, user-id). (optional)
- Return type
Zone
- website = 'https://pointhq.com/'¶
- class libcloud.dns.drivers.pointdns.Redirect(id, name, data, type, driver, zone, iframe=None, query=False)[source]¶
Bases:
objectPoint DNS redirect.
- Parameters
id (
str) – Redirect id.name (
str) – The FQDN for the record.data (
str) – The data field. (redirect_to)type (
str) – The type of redirects 301, 302 or 0 for iframes.driver (
DNSDriver) – DNSDriver instance.zone (
Zone) – Zone where redirect belongs.iframe (
str) – Title of iframe (optional).query (
bool) – boolean Information about including query string when redirecting. (optional).
libcloud.dns.drivers.powerdns module¶
PowerDNS Driver
- class libcloud.dns.drivers.powerdns.PowerDNSDriver(key, secret=None, secure=False, host=None, port=None, api_version='experimental', **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriverPowerDNS Driver defaulting to using PowerDNS 3.x API (ie “experimental”).
- Parameters
key (
str) – API key or username to used (required)secure (
bool) – Whether to use HTTPS or HTTP. Note: Off by default for PowerDNS.host (
str) – Hostname used for connections.port (
int) – Port used for connections.api_version (
str) – Specifies the API version to use.experimentalandv1are the only valid options. Defaults to usingexperimental(optional)
- Returns
None
- RECORD_TYPE_MAP = {'A': 'AFSDB', 'AAAA': 'AAAA', 'CERT': 'CERT', 'CNAME': 'CNAME', 'DNSKEY': 'DNSKEY', 'DS': 'DS', 'HINFO': 'HINFO', 'KEY': 'KEY', 'LOC': 'LOC', 'MX': 'MX', 'NAPTR': 'NAPTR', 'NS': 'NS', 'NSEC': 'NSEC', 'OPENPGPKEY': 'OPENPGPKEY', 'PTR': 'PTR', 'RP': 'RP', 'RRSIG': 'RRSIG', 'SOA': 'SOA', 'SPF': 'SPF', 'SRV': 'SRV', 'SSHFP': 'SSHFP', 'TLSA': 'TLSA', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.powerdns.PowerDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
Create a new record.
There are two PowerDNS-specific quirks here. Firstly, this method will silently clobber any pre-existing records that might already exist. For example, if PowerDNS already contains a “test.example.com” A record, and you create that record using this function, then the old A record will be replaced with your new one.
Secondly, PowerDNS requires that you provide a ttl for all new records. In other words, the “extra” parameter must be
{'ttl': <some-integer>}at a minimum.- Parameters
name (
str) – FQDN of the new record, for example “www.example.com”.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, e.g. ‘ttl’). Note that PowerDNS requires a ttl value for every record.
- Return type
Record
- create_zone(domain, type=None, ttl=None, extra={})[source]¶
Create a new zone.
There are two PowerDNS-specific quirks here. Firstly, the “type” and “ttl” parameters are ignored (no-ops). The “type” parameter is simply not implemented, and PowerDNS does not have an ability to set a zone-wide default TTL. (TTLs must be set per-record.)
Secondly, PowerDNS requires that you provide a list of nameservers for the zone upon creation. In other words, the “extra” parameter must be
{'nameservers': ['ns1.example.org']}at a minimum.- Parameters
name (
str) – Zone domain name (e.g. example.com)domain (
Zone) – Zone type (master / slave). (optional). Note that the PowerDNS driver does nothing with this parameter.ttl (
int) – TTL for new records. (optional). Note that the PowerDNS driver does nothing with this parameter.extra (
dict) – Extra attributes (driver specific). For example, specifyextra={'nameservers': ['ns1.example.org']}to set a list of nameservers for this new zone.
- Return type
Zone
- delete_record(record)[source]¶
Use this method to delete a record.
- Parameters
record (Record) – record to delete
- Return type
bool
- delete_zone(zone)[source]¶
Use this method to delete a zone.
- Parameters
zone (Zone) – zone to delete
- Return type
bool
- get_zone(zone_id)[source]¶
Return a Zone instance.
(Note that PowerDNS does not support per-zone TTL defaults, so all Zone objects will have
ttl=None.)- Parameters
zone_id (
str) – name of the required zone with the trailing period, for example “example.com.”.- Return type
Zone- Raises
ZoneDoesNotExistError: If no zone could be found.
- list_records(zone)[source]¶
Return a list of all records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'PowerDNS'¶
- type = 'powerdns'¶
- update_record(record, name, type, data, extra=None)[source]¶
Update an existing record.
- Parameters
record (
Record) – Record to update.name (
str) – FQDN of the new record, for example “www.example.com”.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
- website = 'https://www.powerdns.com/'¶
libcloud.dns.drivers.rackspace module¶
- class libcloud.dns.drivers.rackspace.RackspaceDNSConnection(*args, **kwargs)[source]¶
Bases:
libcloud.compute.drivers.openstack.OpenStack_1_1_Connection,libcloud.common.base.PollingConnectionRackspace DNS Connection class.
Initialize user_id and key; set secure to an
intbased on passed value.- XML_NAMESPACE = None¶
- auth_url = 'https://identity.api.rackspacecloud.com'¶
- get_endpoint()[source]¶
Selects the endpoint to use based on provider specific values, or overrides passed in by the user when setting up the driver.
- Returns
url of the relevant endpoint for the driver
- get_poll_request_kwargs(response, context, request_kwargs)[source]¶
Return keyword arguments which are passed to the request() method when polling for the job status.
- Parameters
response (
dict) – Response object returned by poll request.request_kwargs – Kwargs previously used to initiate the poll request.
:return
dictKeyword arguments
- has_completed(response)[source]¶
Return job completion status.
- Parameters
response (
HTTPResponse) – Response object returned by poll request.
:return
boolTrue if the job has completed, False otherwise.
- poll_interval = 2.5¶
- responseCls¶
alias of
libcloud.dns.drivers.rackspace.RackspaceDNSResponse
- timeout = 30¶
- class libcloud.dns.drivers.rackspace.RackspaceDNSResponse(*args, **kwargs)[source]¶
Bases:
libcloud.compute.drivers.openstack.OpenStack_1_1_ResponseRackspace DNS Response class.
- Parameters
response (
httplib.HTTPResponse) – HTTP response object. (optional)connection (
Connection) – Parent connection object.
libcloud.dns.drivers.rcodezero module¶
RcodeZero DNS Driver
- class libcloud.dns.drivers.rcodezero.RcodeZeroDNSDriver(key, secret=None, secure=True, host=None, port=None, api_version='v1', **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- Parameters
key (
str) – API token to be used (required)secret – Password to be used, ignored by RcodeZero
secure (
bool) – Whether to use HTTPS (default) or HTTP.host (
str) – Hostname used for connections.port (
int) – Port used for connections.api_version (
str) – Specifies the API version to use.v1is currently the only valid option (and default)
- Returns
None
- RECORD_TYPE_MAP = {'A': 'AFSDB', 'AAAA': 'AAAA', 'ALIAS': 'ALIAS', 'CERT': 'CERT', 'CNAME': 'CNAME', 'DNAME': 'DNAME', 'DNSKEY': 'DNSKEY', 'DS': 'DS', 'HINFO': 'HINFO', 'KEY': 'KEY', 'LOC': 'LOC', 'MX': 'MX', 'NAPTR': 'NAPTR', 'NS': 'NS', 'NSEC': 'NSEC', 'OPENPGPKEY': 'OPENPGPKEY', 'PTR': 'PTR', 'RP': 'RP', 'RRSIG': 'RRSIG', 'SOA': 'SOA', 'SPF': 'SPF', 'SRV': 'SRV', 'SSHFP': 'SSHFP', 'TLSA': 'TLSA', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.rcodezero.RcodeZeroConnection
- create_record(name, zone, type, data, extra=None)[source]¶
Create a new record in a given, existing zone.
- Parameters
name (
str) – name of the new record without the domain name, for example “www”.zone (
Zone) – Zone in which the requested record is created.type (
RecordType) – DNS resource record type (A, AAAA, …).data (
str) – Data for the record (depending on the record type).extra (
dict) – Extra attributes: ‘ttl’, ‘disabled’
- Return type
Record
- create_zone(domain, type='master', ttl=None, extra={})[source]¶
Create a new zone.
- Parameters
name (
str) – Zone domain name (e.g. example.com)domain (
Zone) – Zone type (‘master’ / ‘slave’). (required).ttl (
int) – TTL for new records. (optional). Ignored by RcodeZero. RcodeZero uses record specific TTLs.extra (
dict) – Extra attributes: ‘masters’ (for type=slave):extra={'masters': ['193.0.2.2','2001:db8::2']}sets the Master nameservers for a type=slave zone.
- Return type
Zone
- delete_record(record)[source]¶
Delete a record in a given zone.
- Parameters
record (Record) – record to delete (record object)
- Return type
bool
- delete_zone(zone)[source]¶
Delete a zone and all its records.
- Parameters
zone (Zone) – zone to delete
- Return type
bool
- 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]¶
Get a Zone object.
- Parameters
zone_id (
str) – name of the zone, for example “example.com”.- Return type
Zone- Raises
ZoneDoesNotExistError: if zone could not be found.
- list_records(zone)[source]¶
Return a list of all record objects for the given zone.
- Parameters
zone (
Zone) – Zone object to list records for.- Returns
listofRecord
- name = 'RcodeZero DNS'¶
- type = 'rcodezero'¶
- update_record(record, name, type, data, extra=None)[source]¶
Update an existing record.
- Parameters
record (
Record) – Record object to update.name (
str) – name of the new record, for example “www”.type (
RecordType) – DNS resource record type (A, AAAA, …).data (
str) – Data for the record (depending on the record type).extra (
dict) – Extra attributes: ‘ttl’,’disabled’ (optional)
- Return type
Record
- update_zone(zone, domain, type=None, 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) – not supported. RcodeZero uses RRSet-specific TTLsextra (
dict) – Extra attributes: ‘masters’ (for type=slave)extra={'masters': ['193.0.2.2','2001:db8::2']}sets the Master nameserver addresses for a type=slave zone
- Return type
Zone
- website = 'https://www.rcodezero.at/'¶
libcloud.dns.drivers.route53 module¶
- class libcloud.dns.drivers.route53.Route53DNSDriver(*args, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SOA': 'SOA', 'SPF': 'SPF', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.route53.Route53Connection
- 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
Record
- 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
Zone
- delete_record(record)[source]¶
Delete a record.
- Parameters
record (
Record) – Record to delete.- Return type
bool
- delete_zone(zone, ex_delete_records=False)[source]¶
Delete a zone.
Note: This will delete all the records belonging to this zone.
- Parameters
zone (
Zone) – Zone to delete.- Return type
bool
- ex_create_multi_value_record(name, zone, type, data, extra=None)[source]¶
Create a record with multiple values with a single call.
- Returns
A list of created records.
- Return type
listoflibcloud.dns.base.Record
- ex_delete_all_records(zone)[source]¶
Remove all the records for the provided zone.
- Parameters
zone (
Zone) – Zone to delete records for.
- 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)[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
- name = 'Route53 DNS'¶
- type = 'route53'¶
- update_record(record, name=None, type=None, data=None, 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
- website = 'http://aws.amazon.com/route53/'¶
libcloud.dns.drivers.softlayer module¶
- class libcloud.dns.drivers.softlayer.SoftLayerDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'a', 'AAAA': 'aaaa', 'CNAME': 'cname', 'MX': 'mx', 'NS': 'ns', 'PTR': 'ptr', 'SOA': 'soa', 'SPF': 'spf', 'SRV': 'srv', 'TXT': 'txt'}¶
- 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
Record
- create_zone(domain, 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
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
- 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)[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
- name = 'Softlayer DNS'¶
- type = 'softlayer'¶
- update_record(record, name=None, type=None, data=None, 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
- website = 'https://www.softlayer.com'¶
libcloud.dns.drivers.vultr module¶
Vultr DNS Driver
- class libcloud.dns.drivers.vultr.VultrDNSConnection(key, secure=True, host=None, port=None, url=None, timeout=None, proxy_url=None, backoff=None, retry_delay=None)[source]¶
Bases:
libcloud.common.vultr.VultrConnectionInitialize user_id and key; set secure to an
intbased on passed value.- responseCls¶
- class libcloud.dns.drivers.vultr.VultrDNSDriver(key, secret=None, secure=True, host=None, port=None, api_version='2', region=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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
- name = 'Vultr DNS'¶
- type = 'vultr'¶
- website = 'https://www.vultr.com'¶
- class libcloud.dns.drivers.vultr.VultrDNSResponse(response, connection)[source]¶
Bases:
libcloud.common.vultr.VultrResponse- Parameters
response (
httplib.HTTPResponse) – HTTP response object. (optional)connection (
Connection) – Parent connection object.
libcloud.dns.drivers.worldwidedns module¶
World Wide DNS Driver
- class libcloud.dns.drivers.worldwidedns.WorldWideDNSDriver(key, secret=None, reseller_id=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- Parameters
key (
str) – API key or username to used (required)secret (
str) – Secret password to be used (required)reseller_id (
str) – Reseller ID for reseller accountssecure (
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 = {'A': 'A', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'SRV': 'SRV', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.common.worldwidedns.WorldWideDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
Create a new record.
We can create 40 record per domain. If all slots are full, we can replace one of them by choosing a specific entry in
extraargument.- 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 (MX, CNAME, A, NS, SRV, TXT).data (
str) – Data for the record (depends on the record type).extra (
dict) – Contains ‘entry’ Entry position (1 thru 40)
- Return type
Record
- 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). Possible parameter in here should be DYN which values should be 1 for standart and 2 for dynamic. Default is 1.
- Return type
Zone
For more info, please see https://www.worldwidedns.net/dns_api_protocol_new_domain.asp or https://www.worldwidedns.net/dns_api_protocol_new_domain_reseller.asp
- 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
For more information, please see https://www.worldwidedns.net/dns_api_protocol_delete_domain.asp or https://www.worldwidedns.net/dns_api_protocol_delete_domain_reseller.asp
- ex_transfer_domain(domain, user_id)[source]¶
This command will allow you, if you are a reseller, to change the userid on a domain name to another userid in your account ONLY if that new userid is already created.
- Parameters
domain (
str) – Domain name.user_id (
str) – The new userid to connect to the domain name.
- Return type
bool
For more info, please see: https://www.worldwidedns.net/dns_api_protocol_transfer.asp
- ex_view_zone(domain, name_server)[source]¶
View zone file from a name server
- Parameters
domain (
str) – Domain name.name_server (
int) – Name server to check. (1, 2 or 3)
- Return type
str
For more info, please see: https://www.worldwidedns.net/dns_api_protocol_viewzone.asp or https://www.worldwidedns.net/dns_api_protocol_viewzone_reseller.asp
- get_record(zone_id, record_id)[source]¶
Return a Record instance.
- Parameters
zone_id (
str) – ID of the required zonerecord_id (
str) – ID number 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)[source]¶
Return a generator to iterate over records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Return type
generatorofRecord
- list_zones()[source]¶
Return a list of zones.
- Returns
listofZone
For more info, please see: https://www.worldwidedns.net/dns_api_protocol_list.asp or https://www.worldwidedns.net/dns_api_protocol_list_reseller.asp
- name = 'World Wide DNS'¶
- type = 'worldwidedns'¶
- 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 (MX, CNAME, A, NS, SRV, TXT).data (
str) – Data for the record (depends on the record type).extra (
dict) – Contains ‘entry’ Entry position (1 thru 40)
- Return type
Record
- update_zone(zone, domain, type='master', ttl=None, extra=None, ex_raw=False)[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). Values not specified such as SECURE, IP, FOLDER, HOSTMASTER, REFRESH, RETRY and EXPIRE will be kept as already is. The same will be for S(1 to 40), T(1 to 40) and D(1 to 40) if not in raw mode and for ZONENS and ZONEDATA if it is.ex_raw (
bool) – Mode we use to do the update using zone file or not.
- Return type
Zone
For more info, please see https://www.worldwidedns.net/dns_api_protocol_list_domain.asp or https://www.worldwidedns.net/dns_api_protocol_list_domain_raw.asp or https://www.worldwidedns.net/dns_api_protocol_list_domain_reseller.asp or https://www.worldwidedns.net/dns_api_protocol_list_domain_raw_reseller.asp
- website = 'https://www.worldwidedns.net/'¶
libcloud.dns.drivers.zerigo module¶
- class libcloud.dns.drivers.zerigo.ZerigoDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'GEO': 'GEO', 'MX': 'MX', 'NAPTR': 'NAPTR', 'NS': 'NS', 'PTR': 'PTR', 'REDIRECT': 'REDIRECT', 'SPF': 'SPF', 'SRV': 'SRV', 'TXT': 'TXT', 'URL': 'URL'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.zerigo.ZerigoDNSConnection
- create_record(name, zone, type, data, extra=None)[source]¶
Create a new record.
Provider API docs: https://www.zerigo.com/docs/apis/dns/1.1/hosts/create
@inherits:
DNSDriver.create_record
- create_zone(domain, type='master', ttl=None, extra=None)[source]¶
Create a new zone.
Provider API docs: https://www.zerigo.com/docs/apis/dns/1.1/zones/create
@inherits:
DNSDriver.create_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
- ex_force_slave_axfr(zone)[source]¶
Force a zone transfer.
- Parameters
zone (
Zone) – Zone which should be used.- Return type
Zone
- ex_get_zone_by_domain(domain)[source]¶
Retrieve a zone object by the domain name.
- Parameters
domain (
str) – The domain which should be used- Return type
Zone
- 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)[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
- name = 'Zerigo DNS'¶
- type = 'zerigo'¶
- update_record(record, name=None, type=None, data=None, 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=None, type=None, ttl=None, extra=None)[source]¶
Update an existing zone.
Provider API docs: https://www.zerigo.com/docs/apis/dns/1.1/zones/update
@inherits:
DNSDriver.update_zone
- website = 'http://www.zerigo.com/'¶
libcloud.dns.drivers.zonomi module¶
Zonomi DNS Driver
- class libcloud.dns.drivers.zonomi.ZonomiDNSDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.dns.base.DNSDriver- 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 = {'A': 'A', 'MX': 'MX', 'TXT': 'TXT'}¶
- connectionCls¶
alias of
libcloud.dns.drivers.zonomi.ZonomiDNSConnection
- 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, MX, TXT).data (
str) – Data for the record (depends on the record type).extra (
dict) – Extra attributes (driver specific, e.g. ‘prio’ or ‘ttl’). (optional)
- Return type
Record
- create_zone(domain, type='master', ttl=None, extra=None)[source]¶
Create a new zone.
- Parameters
zone_id (
str) – Zone domain name (e.g. example.com)- Return type
Zone
- delete_record(record)[source]¶
Use this method to 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
- ex_convert_to_master(zone)[source]¶
Convert existent zone to master.
- Parameters
zone (
Zone) – Zone to convert.- Return type
Bool
- ex_convert_to_secondary(zone, master)[source]¶
Convert existent zone to slave.
- Parameters
zone (
Zone) – Zone to convert.master (
str) – the specified master name server IP address.
- Return type
Bool
- 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
- list_records(zone)[source]¶
Return a list of records for the provided zone.
- Parameters
zone (
Zone) – Zone to list records for.- Returns
listofRecord
- name = 'Zonomi DNS'¶
- type = 'zonomi'¶
- website = 'https://zonomi.com'¶