{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeOperators #-}
module PowerDNS.API
( API
, api
, PowerDNS(..)
, module PowerDNS.API.Version
, module PowerDNS.API.Zones
, module PowerDNS.API.Servers
, module PowerDNS.API.Cryptokeys
, module PowerDNS.API.Metadata
, module PowerDNS.API.TSIGKeys
)
where
import Data.Proxy (Proxy(..))
import GHC.Generics (Generic)
import Servant.API
import PowerDNS.API.Cryptokeys
import PowerDNS.API.Metadata
import PowerDNS.API.Servers
import PowerDNS.API.TSIGKeys
import PowerDNS.API.Version
import PowerDNS.API.Zones
api :: Proxy API
api :: Proxy API
api = forall {k} (t :: k). Proxy t
Proxy
type API = ToServantApi PowerDNS
data PowerDNS f = PowerDNS
{ forall f. PowerDNS f -> f :- ("api" :> ToServantApi VersionsAPI)
versions :: f :- "api" :> ToServantApi VersionsAPI
, forall f.
PowerDNS f -> f :- ("api" :> ("v1" :> ToServantApi ServersAPI))
servers :: f :- "api" :> "v1" :> ToServantApi ServersAPI
, forall f.
PowerDNS f -> f :- ("api" :> ("v1" :> ToServantApi ZonesAPI))
zones :: f :- "api" :> "v1" :> ToServantApi ZonesAPI
, forall f.
PowerDNS f -> f :- ("api" :> ("v1" :> ToServantApi CryptokeysAPI))
cryptokeys :: f :- "api" :> "v1" :> ToServantApi CryptokeysAPI
, forall f.
PowerDNS f -> f :- ("api" :> ("v1" :> ToServantApi MetadataAPI))
metadata :: f :- "api" :> "v1" :> ToServantApi MetadataAPI
, forall f.
PowerDNS f -> f :- ("api" :> ("v1" :> ToServantApi TSIGKeysAPI))
tsigkeys :: f :- "api" :> "v1" :> ToServantApi TSIGKeysAPI
} deriving forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall f x. Rep (PowerDNS f) x -> PowerDNS f
forall f x. PowerDNS f -> Rep (PowerDNS f) x
$cto :: forall f x. Rep (PowerDNS f) x -> PowerDNS f
$cfrom :: forall f x. PowerDNS f -> Rep (PowerDNS f) x
Generic