# Backend

## Backend Base

class designate.backend.base.Backend(target)

  Bases: `DriverPlugin`

  Base class for backend implementations

  abstractmethod create_zone(context, zone)

    Create a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

  abstractmethod delete_zone(context, zone, zone_params)

    Delete a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

  update_zone(context, zone)

    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)

  Bases: `Backend`

  create_zone(context, zone)

    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)

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

  get_zone(context, zone)

    Returns True if zone exists and False if not

  update_zone(context, zone)

    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)

  Bases: `Backend`

  Support for Designate to Designate using Secondary zones.

  property client
  create_zone(context, zone)

    Create a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

  delete_zone(context, zone, zone_params=None)

    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)

  Bases: `object`

  DynECT service client.

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

  delete(*args, **kwargs)
  login()
  logout()
  post(*args, **kwargs)
  put(*args, **kwargs)
  request(method, url, retries=2, **kwargs)

exception designate.backend.impl_dynect.DynClientAuthError(data=None, job_id=None, msgs=None, http_status=None, url=None, method=None, details=None)

  Bases: `DynClientError`

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

  Bases: `Backend`

  The base exception class for all HTTP exceptions.

  static from_response(response, details=None)

exception designate.backend.impl_dynect.DynClientOperationBlocked(*args, **kwargs)

  Bases: `BadRequest`, `DynClientError`

  error_type = 'operation_blocked'

class designate.backend.impl_dynect.DynECTBackend(target)

  Bases: `Backend`

  Support for DynECT as a secondary DNS.

  create_zone(context, zone)

    Create a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

  delete_zone(context, zone, zone_params=None)

    Delete a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

  get_client()

exception designate.backend.impl_dynect.DynTimeoutError

  Bases: `Backend`

  A job timedout.

  error_code = 408
  error_type = 'dyn_timeout'

## Backend Infoblox

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

  Bases: `Backend`

  Provides a Designate Backend for Infoblox

  create_zone(context, zone)

    Create a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

  delete_zone(context, zone, zone_params=None)

    Delete a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

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

## Backend Nsd4

class designate.backend.impl_nsd4.NSD4Backend(target)

  Bases: `Backend`

  NSDCT_VERSION = 'NSDCT1'
  create_zone(context, zone)

    Create a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

  delete_zone(context, zone, zone_params=None)

    Delete a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

## Backend Fake

class designate.backend.impl_fake.FakeBackend(target)

  Bases: `Backend`

  create_zone(context, zone)

    Create a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

  delete_zone(context, zone, zone_params=None)

    Delete a DNS zone.

    Parameters:

      - context – Security context information.

      - zone – the DNS zone.

## Backend PowerDNS 4

class designate.backend.impl_pdns4.PDNS4Backend(target)

  Bases: `Backend`

  create_zone(context, zone)

    Create a DNS zone

  delete_zone(context, zone, zone_params=None)

    Delete a DNS zone

this page last updated: 2026-04-13 15:37:16

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug