Backend

Backend Base

class designate.backend.base.Backend(target)[source]

Bases: DriverPlugin

Base class for backend implementations

abstract create_zone(context, zone)[source]

Create a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

abstract delete_zone(context, zone, zone_params)[source]

Delete a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

update_zone(context, zone)[source]

Update a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

Backend Bind9

Bind 9 backend. Create and delete zones by executing rndc

class designate.backend.impl_bind9.Bind9Backend(target)[source]

Bases: Backend

create_zone(context, zone)[source]

Create a new Zone by executin rndc, then notify mDNS Do not raise exceptions if the zone already exists.

delete_zone(context, zone, zone_params=None)[source]

Delete a new Zone by executin rndc Do not raise exceptions if the zone does not exist.

get_zone(context, zone)[source]

Returns True if zone exists and False if not

update_zone(context, zone)[source]

Update a DNS zone.

This will execute a rndc modzone if the zone already exists but masters might need to be refreshed. Or, will create the zone if it does not exist.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

Backend Designate

class designate.backend.impl_designate.DesignateBackend(target)[source]

Bases: Backend

Support for Designate to Designate using Secondary zones.

property client
create_zone(context, zone)[source]

Create a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

delete_zone(context, zone, zone_params=None)[source]

Delete a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

Backend Dynect

class designate.backend.impl_dynect.DynClient(customer_name, user_name, password, timeout, timings, verify=True, retries=1, pool_maxsize=10, pool_connections=10)[source]

Bases: object

DynECT service client.

https://help.dynect.net/rest/

delete(*args, **kwargs)[source]
login()[source]
logout()[source]
post(*args, **kwargs)[source]
put(*args, **kwargs)[source]
request(method, url, retries=2, **kwargs)[source]
exception designate.backend.impl_dynect.DynClientAuthError(data=None, job_id=None, msgs=None, http_status=None, url=None, method=None, details=None)[source]

Bases: DynClientError

exception designate.backend.impl_dynect.DynClientError(data=None, job_id=None, msgs=None, http_status=None, url=None, method=None, details=None)[source]

Bases: Backend

The base exception class for all HTTP exceptions.

static from_response(response, details=None)[source]
exception designate.backend.impl_dynect.DynClientOperationBlocked(*args, **kwargs)[source]

Bases: BadRequest, DynClientError

error_type = 'operation_blocked'
class designate.backend.impl_dynect.DynECTBackend(target)[source]

Bases: Backend

Support for DynECT as a secondary DNS.

create_zone(context, zone)[source]

Create a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

delete_zone(context, zone, zone_params=None)[source]

Delete a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

get_client()[source]
exception designate.backend.impl_dynect.DynTimeoutError[source]

Bases: Backend

A job timedout.

error_code = 408
error_type = 'dyn_timeout'

Backend Infoblox

class designate.backend.impl_infoblox.InfobloxBackend(*args, **kwargs)[source]

Bases: Backend

Provides a Designate Backend for Infoblox

create_zone(context, zone)[source]

Create a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

delete_zone(context, zone, zone_params=None)[source]

Delete a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

get_network_view(project_id)[source]
get_or_create_dns_view(net_view, create_if_missing=True)[source]
get_or_create_network_view(project_id)[source]
property is_multi_project
static parse_wapi_url(wapi_url)[source]
restart_if_needed()[source]

Backend Nsd4

class designate.backend.impl_nsd4.NSD4Backend(target)[source]

Bases: Backend

NSDCT_VERSION = 'NSDCT1'
create_zone(context, zone)[source]

Create a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

delete_zone(context, zone, zone_params=None)[source]

Delete a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

Backend Fake

class designate.backend.impl_fake.FakeBackend(target)[source]

Bases: Backend

create_zone(context, zone)[source]

Create a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

delete_zone(context, zone, zone_params=None)[source]

Delete a DNS zone.

Parameters:
  • context – Security context information.

  • zone – the DNS zone.

Backend PowerDNS 4

class designate.backend.impl_pdns4.PDNS4Backend(target)[source]

Bases: Backend

create_zone(context, zone)[source]

Create a DNS zone

delete_zone(context, zone, zone_params=None)[source]

Delete a DNS zone