Safe Haskell | None |
---|---|
Language | Haskell98 |
Propellor.Types.Core
- data Host = Host {
- hostName :: HostName
- hostProperties :: [ChildProperty]
- hostInfo :: Info
- newtype Propellor p = Propellor {
- runWithHost :: RWST Host [EndAction] () IO p
- class LiftPropellor m where
- liftPropellor :: m a -> Propellor a
- data EndAction = EndAction Desc (Result -> Propellor Result)
- type Desc = String
- data Props metatypes = Props [ChildProperty]
- data ChildProperty = ChildProperty Desc (Propellor Result) Info [ChildProperty]
- class IsProp p where
- setDesc :: p -> Desc -> p
- getDesc :: p -> Desc
- getChildren :: p -> [ChildProperty]
- addChildren :: p -> [ChildProperty] -> p
- getInfoRecursive :: p -> Info
- getInfo :: p -> Info
- toChildProperty :: p -> ChildProperty
- getSatisfy :: p -> Propellor Result
Documentation
Everything Propellor knows about a system: Its hostname, properties and their collected info.
Constructors
Host | |
Fields
|
Propellor's monad provides read-only access to info about the host it's running on, and a writer to accumulate EndActions.
Instances
An action that Propellor runs at the end, after trying to satisfy all properties. It's passed the combined Result of the entire Propellor run.
Instances
Props is a combination of a list of properties, with their combined metatypes.
Constructors
Props [ChildProperty] |
data ChildProperty Source
Since there are many different types of Properties, they cannot be put into a list. The simplified ChildProperty can be put into a list.
Constructors
ChildProperty Desc (Propellor Result) Info [ChildProperty] |
Instances
Methods
setDesc :: p -> Desc -> p Source
getChildren :: p -> [ChildProperty] Source
addChildren :: p -> [ChildProperty] -> p Source
getInfoRecursive :: p -> Info Source
Gets the info of the property, combined with all info of all children properties.
Info, not including info from children.
toChildProperty :: p -> ChildProperty Source
Gets a ChildProperty representing the Property. You should not normally need to use this.
getSatisfy :: p -> Propellor Result Source
Gets the action that can be run to satisfy a Property.
You should never run this action directly. Use
ensureProperty
instead.
Instances
IsProp ChildProperty Source | |
IsProp (Property metatypes) Source | |
IsProp (RevertableProperty setupmetatypes undometatypes) Source |