summaryrefslogtreecommitdiff
path: root/lib/powerdnsex.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/powerdnsex.ex')
-rw-r--r--lib/powerdnsex.ex18
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/powerdnsex.ex b/lib/powerdnsex.ex
index b77389c..cc6db9e 100644
--- a/lib/powerdnsex.ex
+++ b/lib/powerdnsex.ex
@@ -48,6 +48,14 @@ defmodule PowerDNSex do
call({:show_zone, zone, server_name})
end
+ @spec get_zone(String.t(), String.t()) :: :ok | {:error, String.t()}
+ @doc """
+ Show / Retrive info of the specific Zone without RRSets
+ """
+ def get_zone(zone, server_name \\ @default_server) when is_binary(zone) do
+ call({:get_zone, zone, server_name})
+ end
+
@spec delete_zone(String.t(), String.t()) :: :ok | {:error, String.t()}
@doc """
Delete specific Zone on PowerDNS
@@ -84,6 +92,14 @@ defmodule PowerDNSex do
call({:update_record, zone, rrset_attrs})
end
+ @spec put_record(Zone.t(), struct) :: :ok | {:error, String.t()}
+ @doc """
+ Update Record of the given Zone
+ """
+ def put_record(%Zone{} = zone, %{} = rrset_attrs) do
+ call({:put_record, zone, rrset_attrs})
+ end
+
@spec delete_record(Zone.t(), struct) :: :ok | {:error, String.t()}
@doc """
Delete specific Record of given Zone
@@ -107,7 +123,7 @@ defmodule PowerDNSex do
defp call(params) do
:poolboy.transaction(@name, fn pid ->
- GenServer.call(pid, params, Config.powerdns_timeout)
+ GenServer.call(pid, params, Config.powerdns_timeout())
end)
end
end