Storage

Storage Base

class designate.storage.sqlalchemy.SQLAlchemyStorage[source]

Bases: SQLAlchemy

SQLAlchemy connection

count_records(context, criterion=None)[source]

Count records

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

count_recordsets(context, criterion=None)[source]

Count recordsets

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

count_tenants(context)[source]

Count tenants

Parameters:

context – RPC Context.

count_zone_tasks(context, criterion=None)[source]
count_zone_transfer_accept(context, criterion=None)[source]
count_zones(context, criterion=None)[source]

Count zones

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

create_blacklist(context, blacklist)[source]

Create a Blacklist.

Parameters:
  • context – RPC Context.

  • blacklist – Blacklist object with the values to be created.

create_pool(context, pool)[source]

Create a Pool.

Parameters:
  • context – RPC Context.

  • pool – Pool object with the values to be created.

create_pool_also_notify(context, pool_id, pool_also_notify)[source]
create_pool_attribute(context, pool_id, pool_attribute)[source]

Create a PoolAttribute.

Parameters:
  • context – RPC Context.

  • pool_id – The ID of the pool to which the attribute belongs.

  • pool_attribute – PoolAttribute object with the values created.

create_pool_nameserver(context, pool_id, pool_nameserver)[source]
create_pool_ns_record(context, pool_id, pool_ns_record)[source]
create_pool_target(context, pool_id, pool_target)[source]
create_pool_target_master(context, pool_target_id, pool_target_master)[source]
create_pool_target_option(context, pool_target_id, pool_target_option)[source]
create_quota(context, quota)[source]

Create a Quota.

Parameters:
  • context – RPC Context.

  • quota – Quota object with the values to be created.

create_record(context, zone_id, recordset_id, record)[source]

Create a record on a given Zone ID

Parameters:
  • context – RPC Context.

  • zone_id – Zone ID to create the record in.

  • recordset_id – RecordSet ID to create the record in.

  • record – Record object with the values to be created.

create_recordset(context, zone_id, recordset)[source]

Create a recordset on a given Zone ID

Parameters:
  • context – RPC Context.

  • zone_id – Zone ID to create the recordset in.

  • recordset – RecordSet object with the values to be created.

create_service_status(context, service_status)[source]

Create a Service status for a service.

Parameters:
  • context – RPC Context.

  • service_status – The status of a service.

create_tld(context, tld)[source]

Create a TLD.

Parameters:
  • context – RPC Context.

  • tld – Tld object with the values to be created.

create_tsigkey(context, tsigkey)[source]

Create a TSIG Key.

Parameters:
  • context – RPC Context.

  • tsigkey – TsigKey object with the values to be created.

create_zone(context, zone)[source]

Create a new Zone.

Parameters:
  • context – RPC Context.

  • zone – Zone object with the values to be created.

create_zone_attribute(context, zone_id, zone_attribute)[source]
create_zone_export(context, zone_export)[source]

Create a Zone Export.

Parameters:
  • context – RPC Context.

  • zone_export – Zone Export object with the values to be created.

create_zone_import(context, zone_import)[source]

Create a Zone Import.

Parameters:
  • context – RPC Context.

  • zone_import – Zone Import object with the values to be created.

create_zone_master(context, zone_id, zone_master)[source]
create_zone_transfer_accept(context, zone_transfer_accept)[source]
create_zone_transfer_request(context, zone_transfer_request)[source]
delete_blacklist(context, blacklist_id)[source]

Delete a Blacklist via ID.

Parameters:
  • context – RPC Context.

  • blacklist_id – Delete a Blacklist via ID

delete_pool(context, pool_id)[source]

Delete the pool with the matching id

Parameters:
  • context – RPC Context.

  • pool_id – The ID of the pool to be deleted

delete_pool_also_notify(context, pool_also_notify_id)[source]
delete_pool_attribute(context, pool_attribute_id)[source]

Delete the pool with the matching id

Parameters:
  • context – RPC Context.

  • pool_attribute_id – The ID of the PoolAttribute to be deleted

delete_pool_nameserver(context, pool_nameserver_id)[source]
delete_pool_ns_record(context, pool_ns_record_id)[source]
delete_pool_target(context, pool_target_id)[source]
delete_pool_target_master(context, pool_target_master_id)[source]
delete_pool_target_option(context, pool_target_option_id)[source]
delete_quota(context, quota_id)[source]

Delete a Quota via ID.

Parameters:
  • context – RPC Context.

  • quota_id – Delete a Quota via ID

delete_record(context, record_id)[source]

Delete a record

Parameters:
  • context – RPC Context.

  • record_id – Record ID to delete

delete_recordset(context, recordset_id)[source]

Delete a recordset

Parameters:
  • context – RPC Context.

  • recordset_id – RecordSet ID to delete

delete_tld(context, tld_id)[source]

Delete a TLD via ID.

Parameters:
  • context – RPC Context.

  • tld_id – Delete a TLD via ID

delete_tsigkey(context, tsigkey_id)[source]

Delete a TSIG Key via ID.

Parameters:
  • context – RPC Context.

  • tsigkey_id – Delete a TSIG Key via ID

delete_zone(context, zone_id)[source]

Delete a Zone

Parameters:
  • context – RPC Context.

  • zone_id – Zone ID to delete.

delete_zone_attribute(context, zone_attribute_id)[source]
delete_zone_export(context, zone_export_id)[source]

Delete a Zone Export via ID.

Parameters:
  • context – RPC Context.

  • zone_export_id – Delete a Zone Export via ID

delete_zone_import(context, zone_import_id)[source]

Delete a Zone Import via ID.

Parameters:
  • context – RPC Context.

  • zone_import_id – Delete a Zone Import via ID

delete_zone_master(context, zone_master_id)[source]
delete_zone_shares(zone_id)[source]

Delete all of the zone shares for a specific zone.

Parameters:

zone_id – The zone ID to check.

delete_zone_transfer_accept(context, zone_transfer_accept_id)[source]
delete_zone_transfer_request(context, zone_transfer_request_id)[source]
find_blacklist(context, criterion)[source]

Find a single Blacklist.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_blacklists(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find Blacklists

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

find_pool(context, criterion)[source]

Find a single Pool.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_pool_also_notifies(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_pool_also_notify(context, criterion)[source]
find_pool_attribute(context, criterion)[source]

Find a single PoolAttribute

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_pool_attributes(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find all PoolAttributes

Parameters:
  • context – RPC Context

  • criterion – Criteria by which to filer

  • marker – Resource ID used by paging. The next page will start at the next resource after the marker

  • limit – Integer limit of objects on the page

  • sort_key – Key used to sort the returned list

  • sort_dir – Directions to sort after using sort_key

find_pool_nameserver(context, criterion)[source]
find_pool_nameservers(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_pool_target(context, criterion)[source]
find_pool_targets(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_pools(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find all Pools

Parameters:
  • context – RPC Context.

  • criterion – Criteria by which to filter

  • marker – Resource ID used by paging. The next page will start at the next resource after the marker

  • limit – Integer limit of objects on the page

  • sort_key – Key used to sort the returned list

  • sort_dir – Directions to sort after using sort_key

find_quota(context, criterion)[source]

Find a single Quota.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_quotas(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find Quotas

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

find_record(context, criterion)[source]

Find a single Record.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_records(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find Records.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

find_recordset(context, criterion, apply_tenant_criteria=True)[source]

Find a single RecordSet.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • apply_tenant_criteria – Whether to filter results by project_id.

find_recordsets(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None, force_index=False, apply_tenant_criteria=True)[source]

Find RecordSets.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

  • apply_tenant_criteria – Whether to filter results by project_id.

find_recordsets_axfr(context, criterion=None)[source]

Find RecordSets.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_recordsets_export(context, criterion=None)[source]
find_service_status(context, criterion)[source]

Find a single Service Status.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_service_statuses(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Retrieve status for services

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

find_shared_zones(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find shared zones

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

find_tenants(context)[source]

Find all Tenants.

Parameters:

context – RPC Context.

find_tld(context, criterion)[source]

Find a single TLD.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_tlds(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find TLDs

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

find_tsigkey(context, criterion)[source]

Find TSIG Key.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_tsigkeys(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find TSIG Keys.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

find_zone(context, criterion)[source]

Find a single Zone.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_zone_attributes(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_zone_export(context, criterion)[source]

Find a single Zone Export.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_zone_exports(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find Zone Exports

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

find_zone_import(context, criterion)[source]

Find a single Zone Import.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

find_zone_imports(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find Zone Imports

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

find_zone_transfer_accept(context, criterion)[source]
find_zone_transfer_accepts(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_zone_transfer_request(context, criterion)[source]
find_zone_transfer_requests(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]
find_zones(context, criterion=None, marker=None, limit=None, sort_key=None, sort_dir=None)[source]

Find zones

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • marker – Resource ID from which after the requested page will start after

  • limit – Integer limit of objects of the page size after the marker

  • sort_key – Key from which to sort after.

  • sort_dir – Direction to sort after using sort_key.

get_blacklist(context, blacklist_id)[source]

Get a Blacklist via ID.

Parameters:
  • context – RPC Context.

  • blacklist_id – Blacklist ID to get.

get_catalog_zone(context, pool)[source]
get_catalog_zone_records(context, pool)[source]
get_inspector()[source]
get_pool(context, pool_id)[source]

Get a Pool via the id

Parameters:
  • context – RPC Context.

  • pool_id – The ID of the pool to get

get_pool_also_notify(context, pool_also_notify_id)[source]
get_pool_attribute(context, pool_attribute_id)[source]

Get a PoolAttribute via the ID

Parameters:
  • context – RPC Context.

  • pool_attribute_id – The ID of the PoolAttribute to get

get_pool_nameserver(context, pool_nameserver_id)[source]
get_pool_target(context, pool_target_id)[source]
get_quota(context, quota_id)[source]

Get a Quota via ID.

Parameters:
  • context – RPC Context.

  • quota_id – Quota ID to get.

get_record(context, record_id)[source]

Get a record via ID

Parameters:
  • context – RPC Context.

  • record_id – Record ID to get

get_shared_zone(context, zone_id, shared_zone_id)[source]

Get a shared zone via ID

Parameters:
  • context – RPC Context.

  • shared_zone_id – Shared Zone Id

get_tenant(context, tenant_id)[source]

Get Tenant.

Parameters:
  • context – RPC Context.

  • tenant_id – ID of the Tenant.

get_tld(context, tld_id)[source]

Get a TLD via ID.

Parameters:
  • context – RPC Context.

  • tld_id – TLD ID to get.

get_tsigkey(context, tsigkey_id)[source]

Get a TSIG Key via ID.

Parameters:
  • context – RPC Context.

  • tsigkey_id – Server ID to get.

get_zone(context, zone_id, apply_tenant_criteria=True)[source]

Get a Zone via its ID.

Parameters:
  • context – RPC Context.

  • zone_id – ID of the Zone.

  • apply_tenant_criteria – Whether to filter results by project_id.

get_zone_attributes(context, zone_attribute_id)[source]
get_zone_export(context, zone_export_id)[source]

Get a Zone Export via ID.

Parameters:
  • context – RPC Context.

  • zone_export_id – Zone Export ID to get.

get_zone_import(context, zone_import_id)[source]

Get a Zone Import via ID.

Parameters:
  • context – RPC Context.

  • zone_import_id – Zone Import ID to get.

get_zone_transfer_accept(context, zone_transfer_accept_id)[source]
get_zone_transfer_request(context, zone_transfer_request_id)[source]
increment_serial(context, zone_id)[source]

Increment the zone’s serial number.

is_zone_shared_with_project(zone_id, project_id)[source]

Checks if a zone is shared with a project.

Parameters:
  • zone_id – The zone ID to check.

  • project_id – The project ID to check.

Returns:

Boolean True/False if the zone is shared with the project.

purge_zone(context, zone)[source]

Purge a Zone, effectively removing the zone database record.

Parameters:
  • context – RPC Context.

  • zone – Zone to delete.

purge_zones(context, criterion, limit)[source]

Purge Zones, effectively removing the zones database records.

Reparent orphan childrens, if any. Transactions/locks are not needed.

Parameters:
  • context – RPC Context.

  • criterion – Criteria to filter by.

  • limit – Integer limit of objects of the page size after the marker

share_zone(context, shared_zone)[source]

Share zone

Parameters:
  • context – RPC Context.

  • shared_zone – Shared Zone dict

unshare_zone(context, zone_id, shared_zone_id)[source]

Unshare zone

Parameters:
  • context – RPC Context.

  • shared_zone_id – Shared Zone Id

update_blacklist(context, blacklist)[source]

Update a Blacklist

Parameters:
  • context – RPC Context.

  • blacklist – Blacklist to update.

update_pool(context, pool)[source]

Update the specified pool

Parameters:
  • context – RPC Context.

  • pool – Pool to update.

update_pool_also_notify(context, pool_also_notify)[source]
update_pool_attribute(context, pool_attribute)[source]

Update the specified pool

Parameters:
  • context – RPC Context.

  • pool_attribute – PoolAttribute to update

update_pool_nameserver(context, pool_nameserver)[source]
update_pool_ns_record(context, pool_ns_record)[source]
update_pool_target(context, pool_target)[source]
update_pool_target_master(context, pool_target_master)[source]
update_pool_target_option(context, pool_target_option)[source]
update_quota(context, quota)[source]

Update a Quota

Parameters:
  • context – RPC Context.

  • quota – Quota to update.

update_record(context, record)[source]

Update a record

Parameters:
  • context – RPC Context.

  • record – Record to update

update_recordset(context, recordset)[source]

Update a recordset

Parameters:
  • context – RPC Context.

  • recordset – RecordSet to update

update_service_status(context, service_status)[source]

Update the Service status for a service.

Parameters:
  • context – RPC Context.

  • service_status – Set the status for a service.

update_tld(context, tld)[source]

Update a TLD

Parameters:
  • context – RPC Context.

  • tld – TLD to update.

update_tsigkey(context, tsigkey)[source]

Update a TSIG Key

Parameters:
  • context – RPC Context.

  • tsigkey – TSIG Keyto update.

update_zone(context, zone)[source]

Update a Zone

Parameters:
  • context – RPC Context.

  • zone – Zone object.

update_zone_attribute(context, zone_attribute)[source]
update_zone_export(context, zone_export)[source]

Update a Zone Export

Parameters:
  • context – RPC Context.

  • zone_export – Zone Export to update.

update_zone_import(context, zone_import)[source]

Update a Zone Import

Parameters:
  • context – RPC Context.

  • zone_import – Zone Import to update.

update_zone_master(context, zone_master)[source]
update_zone_transfer_accept(context, zone_transfer_accept)[source]
update_zone_transfer_request(context, zone_transfer_request)[source]