pythia-0.1: A utility program for retrieving system information.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pythia.Services.GlobalIp.Types

Description

Provides types to be used for querying the global IP addresses.

Since: 0.1

Synopsis

Configuration

data GlobalIpConfig a Source #

Complete configuration for querying global IP addresses.

Since: 0.1

Constructors

MkGlobalIpConfig 

Fields

Instances

Instances details
(k ~ A_Lens, a ~ GlobalIpApp, b ~ GlobalIpApp) => LabelOptic "app" k (GlobalIpConfig s) (GlobalIpConfig s) a b Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

(k ~ A_Lens, a ~ s, b ~ s) => LabelOptic "sources" k (GlobalIpConfig s) (GlobalIpConfig s) a b Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Generic (GlobalIpConfig a) Source # 
Instance details

Defined in Pythia.Services.GlobalIp.Types

Associated Types

type Rep (GlobalIpConfig a) :: Type -> Type #

Show a => Show (GlobalIpConfig a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

NFData a => NFData (GlobalIpConfig a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Methods

rnf :: GlobalIpConfig a -> () #

Eq a => Eq (GlobalIpConfig a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

type Rep (GlobalIpConfig a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

type Rep (GlobalIpConfig a) = D1 ('MetaData "GlobalIpConfig" "Pythia.Services.GlobalIp.Types" "pythia-0.1-inplace" 'False) (C1 ('MetaCons "MkGlobalIpConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "app") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 GlobalIpApp) :*: S1 ('MetaSel ('Just "sources") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 a)))

data GlobalIpApp Source #

This type determines what program we use to lookup the ip address.

Since: 0.1

Constructors

GlobalIpAppCurl

Uses curl to lookup the ip addresses.

Since: 0.1

GlobalIpAppDig

Uses the dig command to perform a DNS lookup. This is generally the fastest and most reliable.

Since: 0.1

Instances

Instances details
Bounded GlobalIpApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Enum GlobalIpApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Generic GlobalIpApp Source # 
Instance details

Defined in Pythia.Services.GlobalIp.Types

Associated Types

type Rep GlobalIpApp :: Type -> Type #

Show GlobalIpApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

NFData GlobalIpApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Methods

rnf :: GlobalIpApp -> () #

Eq GlobalIpApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Ord GlobalIpApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

type Rep GlobalIpApp Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

type Rep GlobalIpApp = D1 ('MetaData "GlobalIpApp" "Pythia.Services.GlobalIp.Types" "pythia-0.1-inplace" 'False) (C1 ('MetaCons "GlobalIpAppCurl" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GlobalIpAppDig" 'PrefixI 'False) (U1 :: Type -> Type))

Extra URL sources

newtype UrlSource a Source #

Additional URL source for retrieving IP information. The intended app should not be included (i.e. curl or dig), but any desired flags should be.

Examples

Expand
(dig): "resolver1.opendns.com myip.opendns.com"
(dig): -4 TXT o-o.myaddr.l.google.com ns1.google.com
(curl): "http://whatismyip.akamai.com/"
...

Since: 0.1

Constructors

MkUrlSource 

Fields

Instances

Instances details
(k ~ An_Iso, a ~ Text, b ~ Text) => LabelOptic "unUrlSource" k (UrlSource p) (UrlSource p) a b Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Methods

labelOptic :: Optic k NoIx (UrlSource p) (UrlSource p) a b Source #

IsString (UrlSource a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Methods

fromString :: String -> UrlSource a #

Generic (UrlSource a) Source # 
Instance details

Defined in Pythia.Services.GlobalIp.Types

Associated Types

type Rep (UrlSource a) :: Type -> Type #

Methods

from :: UrlSource a -> Rep (UrlSource a) x #

to :: Rep (UrlSource a) x -> UrlSource a #

Show (UrlSource a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

NFData (UrlSource a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Methods

rnf :: UrlSource a -> () #

Eq (UrlSource a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

Methods

(==) :: UrlSource a -> UrlSource a -> Bool #

(/=) :: UrlSource a -> UrlSource a -> Bool #

Ord (UrlSource a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

type Rep (UrlSource a) Source #

Since: 0.1

Instance details

Defined in Pythia.Services.GlobalIp.Types

type Rep (UrlSource a) = D1 ('MetaData "UrlSource" "Pythia.Services.GlobalIp.Types" "pythia-0.1-inplace" 'True) (C1 ('MetaCons "MkUrlSource" 'PrefixI 'True) (S1 ('MetaSel ('Just "unUrlSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Optics