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

Safe Haskell | Safe-Inferred
Language | Haskell2010

Propellor.Types.ConfigurableValue

Synopsis

- class ConfigurableValue t where
  - val :: t -> String

# 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

Instances details

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 Word8 Source # |
Instance details Defined in Propellor.Types.ConfigurableValue Methods val :: Word8 -> String Source #
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 Chain Source # |
Instance details Defined in Propellor.Property.Firewall Methods val :: Chain -> String Source #
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 Methods val :: ICMPTypeMatch -> String Source #
ConfigurableValue IPWithMask Source # |
Instance details Defined in Propellor.Property.Firewall Methods val :: IPWithMask -> String Source #
ConfigurableValue Table Source # |
Instance details Defined in Propellor.Property.Firewall Methods val :: Table -> String Source #
ConfigurableValue Target Source # |
Instance details Defined in Propellor.Property.Firewall Methods val :: Target -> String Source #
ConfigurableValue PoudriereArch Source # |
Instance details Defined in Propellor.Property.FreeBSD.Poudriere Methods val :: PoudriereArch -> String Source #
ConfigurableValue ReportLevel Source # |
Instance details Defined in Propellor.Property.Logcheck Methods val :: ReportLevel -> String Source #
ConfigurableValue ResticRepo Source # |
Instance details Defined in Propellor.Property.Restic Methods val :: ResticRepo -> String Source #
ConfigurableValue IPAddr Source # |
Instance details Defined in Propellor.Types.Dns Methods val :: IPAddr -> String Source #
ConfigurableValue FBSDVersion Source # |
Instance details Defined in Propellor.Types.OS Methods val :: FBSDVersion -> String Source #
ConfigurableValue Group Source # |
Instance details Defined in Propellor.Types.OS Methods val :: Group -> String Source #
ConfigurableValue Port Source # |
Instance details Defined in Propellor.Types.OS Methods val :: Port -> String Source #
ConfigurableValue User Source # |
Instance details Defined in Propellor.Types.OS Methods val :: User -> String Source #
ConfigurableValue ZDataset Source # |
Instance details Defined in Propellor.Types.ZFS Methods val :: ZDataset -> 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 Integer Source # |
Instance details Defined in Propellor.Types.ConfigurableValue Methods val :: Integer -> String Source #
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 #