| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Propellor.Types.OS
Synopsis
- data System = System Distribution Architecture
- data Distribution
- data TargetOS
- data DebianKernel
- data DebianSuite
- data FreeBSDRelease
- data FBSDVersion
- isStable :: DebianSuite -> Bool
- type Release = String
- data Architecture
- architectureToDebianArchString :: Architecture -> String
- type HostName = String
- type UserName = String
- newtype User = User UserName
- newtype Group = Group String
- userGroup :: User -> Group
- newtype Port = Port Int
- systemToTargetOS :: System -> TargetOS
Documentation
High level description of a operating system.
Constructors
| System Distribution Architecture |
data Distribution Source #
Constructors
| Debian DebianKernel DebianSuite | |
| Buntish Release | A well-known Debian derivative founded by a space tourist. The actual name of this distribution is not used in Propellor per http://joeyh.name/blog/entry/trademark_nonsense/ |
| ArchLinux | |
| FreeBSD FreeBSDRelease |
Instances
| Eq Distribution Source # | |
Defined in Propellor.Types.OS | |
| Show Distribution Source # | |
Defined in Propellor.Types.OS Methods showsPrec :: Int -> Distribution -> ShowS # show :: Distribution -> String # showList :: [Distribution] -> ShowS # | |
Properties can target one or more OS's; the targets are part of the type of the property, so need to be kept fairly simple.
Constructors
| OSDebian | |
| OSBuntish | |
| OSArchLinux | |
| OSFreeBSD |
data DebianKernel Source #
Most of Debian ports are based on Linux. There also exist hurd-i386, kfreebsd-i386, kfreebsd-amd64 ports
Instances
| Eq DebianKernel Source # | |
Defined in Propellor.Types.OS | |
| Show DebianKernel Source # | |
Defined in Propellor.Types.OS Methods showsPrec :: Int -> DebianKernel -> ShowS # show :: DebianKernel -> String # showList :: [DebianKernel] -> ShowS # | |
data DebianSuite Source #
Debian has several rolling suites, and a number of stable releases, such as Stable "buster".
Constructors
| Experimental | |
| Unstable | |
| Testing | |
| Stable Release |
Instances
| Eq DebianSuite Source # | |
Defined in Propellor.Types.OS | |
| Show DebianSuite Source # | |
Defined in Propellor.Types.OS Methods showsPrec :: Int -> DebianSuite -> ShowS # show :: DebianSuite -> String # showList :: [DebianSuite] -> ShowS # | |
data FreeBSDRelease Source #
FreeBSD breaks their releases into Production and Legacy.
Constructors
| FBSDProduction FBSDVersion | |
| FBSDLegacy FBSDVersion |
Instances
| Eq FreeBSDRelease Source # | |
Defined in Propellor.Types.OS Methods (==) :: FreeBSDRelease -> FreeBSDRelease -> Bool # (/=) :: FreeBSDRelease -> FreeBSDRelease -> Bool # | |
| Show FreeBSDRelease Source # | |
Defined in Propellor.Types.OS Methods showsPrec :: Int -> FreeBSDRelease -> ShowS # show :: FreeBSDRelease -> String # showList :: [FreeBSDRelease] -> ShowS # | |
data FBSDVersion Source #
Instances
| Eq FBSDVersion Source # | |
Defined in Propellor.Types.OS | |
| Show FBSDVersion Source # | |
Defined in Propellor.Types.OS Methods showsPrec :: Int -> FBSDVersion -> ShowS # show :: FBSDVersion -> String # showList :: [FBSDVersion] -> ShowS # | |
| IsString FBSDVersion Source # | |
Defined in Propellor.Types.OS Methods fromString :: String -> FBSDVersion # | |
| ConfigurableValue FBSDVersion Source # | |
Defined in Propellor.Types.OS Methods val :: FBSDVersion -> String Source # | |
isStable :: DebianSuite -> Bool Source #
data Architecture Source #
Many of these architecture names are based on the names used by Debian, with a few exceptions for clarity.
Constructors
| X86_64 | 64 bit Intel, called "amd64" in Debian |
| X86_32 | 32 bit Intel, called "i386" in Debian |
| ARMHF | |
| ARMEL | |
| PPC | |
| PPC64 | |
| SPARC | |
| SPARC64 | |
| MIPS | |
| MIPSEL | |
| MIPS64EL | |
| SH4 | |
| IA64 | Itanium |
| S390 | |
| S390X | |
| ALPHA | |
| HPPA | |
| M68K | |
| ARM64 | |
| X32 | New Linux ABI for 64 bit CPUs using 32-bit integers. Not widely used. |
Instances
| Eq Architecture Source # | |
Defined in Propellor.Types.OS | |
| Show Architecture Source # | |
Defined in Propellor.Types.OS Methods showsPrec :: Int -> Architecture -> ShowS # show :: Architecture -> String # showList :: [Architecture] -> ShowS # | |
Either a host name e.g., "haskell.org" or a numeric host
address string consisting of a dotted decimal IPv4 address or an
IPv6 address e.g., "192.168.0.1".
Instances
| Eq Port Source # | |
| Ord Port Source # | |
| Show Port Source # | |
| ConfigurableValue Port Source # | |
| Publishable Port Source # | |
Defined in Propellor.Property.Systemd | |
| Publishable (Bound Port) Source # | |
Defined in Propellor.Property.Docker | |
| Publishable (Bound Port) Source # | |
Defined in Propellor.Property.Systemd | |
| Publishable (Proto, Bound Port) Source # | |
systemToTargetOS :: System -> TargetOS Source #