powerdns-0.4.1: powerdns.cabal
cabal-version: 3.0
name: powerdns
version: 0.4.1
license: BSD-3-Clause
license-file: LICENSE
copyright: (c) 2021 Victor Nawothnig
maintainer: Victor Nawothnig (dminuoso@icloud.com)
author: Victor Nawothnig, Julian Jacobi
bug-reports: https://gitlab.com/wobcom/haskell/powerdns/issues
synopsis: PowerDNS API bindings for api/v1
description:
PowerDNS API allows programmatic manipulation of zones and other metadata. This
library is a thin wrapper, exposing most of the idiosyncracies directly.
.
Users are advised to refer to the PowerDNS documentation and its source code for
the exact semantics.
.
All exposed API endpoints are provided.
.
> import qualified PowerDNS.Client as P
> import Network.HTTP.Client (newManager, defaultManagerSettings)
> import Servant.Client (runClientM, mkClientEnv, parseBarseUrl)
>
> main :: IO
> main = do
> uri <- parseBaseUrl "http://localhost:8081"
> mgr <- newManager defaultManagerSettings
> let env = P.applyXApiKey "secret" (mkClientEnv mgr uri)
>
> Right r <- runClientM (P.statistics "localhost" Nothing Nothing) env)
> traverse_ print r
category: Network
build-type: Simple
extra-source-files: CHANGELOG.md
common all
build-depends:
base ^>= { 4.12, 4.13, 4.14, 4.15, 4.16 },
servant ^>= { 0.18.2, 0.19 },
servant-client ^>= { 0.18.2, 0.19 },
servant-client-core ^>= { 0.18.2, 0.19 }
library
import: all
exposed-modules:
PowerDNS.API
PowerDNS.API.Version
PowerDNS.API.Zones
PowerDNS.API.Servers
PowerDNS.API.Cryptokeys
PowerDNS.API.Metadata
PowerDNS.API.TSIGKeys
PowerDNS.Client
PowerDNS.Internal.Utils
default-language: Haskell2010
ghc-options: -Wall -Wcompat
build-depends:
aeson ^>= { 1.5.6, 2.0.3.0 },
bytestring ^>= { 0.10.10 },
deepseq ^>= { 1.4.4 },
containers ^>= { 0.6.2 },
hashable ^>= { 1.3.0.0 },
text ^>= { 1.2.4 },
time ^>= { 1.9.3 },
base64-bytestring ^>= { 1.1.0, 1.2.1.0 },
case-insensitive ^>= { 1.2.1 }
test-suite powerdns-test
import: all
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs: spec
default-language: Haskell2010
build-depends:
powerdns -any,
tasty ^>= { 1.4.1 },
tasty-hunit ^>= { 0.10.0.3 },
http-client ^>= { 0.6.4.1, 0.7.11 }