propellor-5.7.0: property-based host configuration management in haskell

Safe HaskellSafe
LanguageHaskell98

Propellor.Types.ConfigurableValue

Synopsis

Documentation

class ConfigurableValue t where Source #

A value that can be used in a configuration file, or otherwise used to configure a program.

Unlike Show, there should only be instances of this type class for values that have a standard serialization that is understood outside of Haskell code.

When converting a type alias such as "type Foo = String" or "type Foo = Int" to a newtype, it's unsafe to derive a Show instance, because there may be code that shows the type to configure a value. Instead, define a ConfigurableValue instance.

Methods

val :: t -> String Source #

Instances
ConfigurableValue Double Source # 
Instance details

Defined in Propellor.Types.ConfigurableValue

Methods

val :: Double -> String Source #

ConfigurableValue Float Source # 
Instance details

Defined in Propellor.Types.ConfigurableValue

Methods

val :: Float -> String Source #

ConfigurableValue Int Source # 
Instance details

Defined in Propellor.Types.ConfigurableValue

Methods

val :: Int -> String Source #

ConfigurableValue Integer Source # 
Instance details

Defined in Propellor.Types.ConfigurableValue

Methods

val :: Integer -> String Source #

ConfigurableValue Word8 Source # 
Instance details

Defined in Propellor.Types.ConfigurableValue

Methods

val :: Word8 -> String Source #

ConfigurableValue Word16 Source # 
Instance details

Defined in Propellor.Types.ConfigurableValue

Methods

val :: Word16 -> String Source #

ConfigurableValue Word32 Source # 
Instance details

Defined in Propellor.Types.ConfigurableValue

Methods

val :: Word32 -> String Source #

ConfigurableValue String Source #

val String does not do any quoting, unlike show String

Instance details

Defined in Propellor.Types.ConfigurableValue

Methods

val :: String -> String Source #

ConfigurableValue Port Source # 
Instance details

Defined in Propellor.Types.OS

Methods

val :: Port -> String Source #

ConfigurableValue Group Source # 
Instance details

Defined in Propellor.Types.OS

Methods

val :: Group -> String Source #

ConfigurableValue User Source # 
Instance details

Defined in Propellor.Types.OS

Methods

val :: User -> String Source #

ConfigurableValue FBSDVersion Source # 
Instance details

Defined in Propellor.Types.OS

ConfigurableValue ZDataset Source # 
Instance details

Defined in Propellor.Types.ZFS

Methods

val :: ZDataset -> String Source #

ConfigurableValue IPAddr Source # 
Instance details

Defined in Propellor.Types.Dns

Methods

val :: IPAddr -> String Source #

ConfigurableValue PoudriereArch Source # 
Instance details

Defined in Propellor.Property.FreeBSD.Poudriere

ConfigurableValue ReportLevel Source # 
Instance details

Defined in Propellor.Property.Logcheck

ConfigurableValue Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Frequency -> String Source #

ConfigurableValue ICMPTypeMatch Source # 
Instance details

Defined in Propellor.Property.Firewall

ConfigurableValue Chain Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Chain -> String Source #

ConfigurableValue Target Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Target -> String Source #

ConfigurableValue Table Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Table -> String Source #

ConfigurableValue IPWithMask Source # 
Instance details

Defined in Propellor.Property.Firewall

ConfigurableValue AptSource Source # 
Instance details

Defined in Propellor.Property.Apt.PPA

Methods

val :: AptSource -> String Source #

ConfigurableValue PPA Source # 
Instance details

Defined in Propellor.Property.Apt.PPA

Methods

val :: PPA -> String Source #

ConfigurableValue ResticRepo Source # 
Instance details

Defined in Propellor.Property.Restic