DNS.Zone.Store (DNS v0.4.1)
View SourceZone storage system for managing DNS zones in memory.
Provides ETS-based storage for zone management with optional persistence.
Summary
Functions
Clear all zones.
Delete a zone.
Ensure the zone store is initialized.
Get a zone by name.
Get zones by type.
Initialize the zone store.
List all zones.
Store a zone.
Check if a zone exists.
Functions
@spec clear() :: :ok
Clear all zones.
@spec delete_zone(String.t() | DNS.Zone.Name.t()) :: :ok
Delete a zone.
@spec ensure_initialized() :: :ok
Ensure the zone store is initialized.
@spec get_zone(String.t() | DNS.Zone.Name.t()) :: {:ok, DNS.Zone.t()} | {:error, :not_found}
Get a zone by name.
@spec get_zones_by_type(DNS.Zone.zone_type()) :: [DNS.Zone.t()]
Get zones by type.
@spec init() :: :ok
Initialize the zone store.
@spec list_zones() :: [DNS.Zone.t()]
List all zones.
@spec put_zone(DNS.Zone.t()) :: {:ok, DNS.Zone.t()}
Store a zone.
@spec zone_exists?(String.t() | DNS.Zone.Name.t()) :: boolean()
Check if a zone exists.