libcloud.dns.drivers.dummy module

class libcloud.dns.drivers.dummy.DummyDNSDriver(api_key, api_secret)[source]

Bases: DNSDriver

Dummy 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: str = 'Dummy DNS Provider'
website: str = 'http://example.com'