DNS.Zone.Editor (DNS v0.4.1)

View Source

Zone editor interface for interactive zone management.

Provides a high-level interface for zone creation, modification, and management with built-in validation and error handling.

Summary

Functions

Clone a zone for testing purposes.

Create a new zone with interactive prompts.

Enable DNSSEC for a zone.

Export zone to standard format.

List all records in a zone.

Remove a record from a zone.

Search for records by name, type, or value.

Validate a zone and provide feedback.

Functions

add_record(zone_name, record_type, options)

@spec add_record(String.t() | DNS.Zone.Name.t(), atom(), keyword()) ::
  {:ok, DNS.Zone.t()} | {:error, String.t()}

Add a record to a zone.

clone_zone(source_zone_name, new_zone_name)

@spec clone_zone(String.t() | DNS.Zone.Name.t(), String.t() | DNS.Zone.Name.t()) ::
  {:ok, DNS.Zone.t()} | {:error, String.t()}

Clone a zone for testing purposes.

create_zone_interactive(zone_name, options \\ [])

@spec create_zone_interactive(
  String.t(),
  keyword()
) :: {:ok, DNS.Zone.t()} | {:error, String.t()}

Create a new zone with interactive prompts.

enable_dnssec(zone_name, options \\ [])

@spec enable_dnssec(
  String.t() | DNS.Zone.Name.t(),
  keyword()
) :: {:ok, DNS.Zone.t()} | {:error, String.t()}

Enable DNSSEC for a zone.

export_zone(zone_name, options \\ [])

@spec export_zone(
  String.t() | DNS.Zone.Name.t(),
  keyword()
) :: {:ok, String.t()} | {:error, String.t()}

Export zone to standard format.

list_records(zone_name)

@spec list_records(String.t() | DNS.Zone.Name.t()) ::
  {:ok, [map()]} | {:error, String.t()}

List all records in a zone.

remove_record(zone_name, record_type, options)

@spec remove_record(String.t() | DNS.Zone.Name.t(), atom(), keyword()) ::
  {:ok, DNS.Zone.t()} | {:error, String.t()}

Remove a record from a zone.

search_records(zone_name, search_options)

@spec search_records(
  String.t() | DNS.Zone.Name.t(),
  keyword()
) :: {:ok, [map()]} | {:error, String.t()}

Search for records by name, type, or value.

update_record(zone_name, record_type, match_options, update_options)

@spec update_record(String.t() | DNS.Zone.Name.t(), atom(), keyword(), keyword()) ::
  {:ok, DNS.Zone.t()} | {:error, String.t()}

Update an existing record in a zone.

validate_zone(zone_name)

@spec validate_zone(String.t() | DNS.Zone.Name.t()) ::
  {:ok, map()} | {:error, String.t()}

Validate a zone and provide feedback.