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

Safe HaskellNone

Propellor.Types

Synopsis

Documentation

data Host Source

Constructors

Host [Property] (Attr -> Attr) 

data Attr Source

The attributes of a host. For example, its hostname.

newtype Propellor p Source

Propellor's monad provides read-only access to attributes of the system.

Constructors

Propellor 

Fields

runWithAttr :: ReaderT Attr IO p
 

data Property Source

The core data type of Propellor, this represents a property that the system should have, and an action to ensure it has the property.

Constructors

Property 

Fields

propertyDesc :: Desc
 
propertySatisfy :: Propellor Result

must be idempotent; may run repeatedly

Instances

data RevertableProperty Source

A property that can be reverted.

data AttrProperty Source

A property that affects the Attr.

Constructors

forall p . IsProp p => AttrProperty p (Attr -> Attr) 

Instances

class IsProp p whereSource

Methods

describe :: p -> Desc -> pSource

Sets description.

toProp :: p -> PropertySource

requires :: p -> Property -> pSource

Indicates that the first property can only be satisfied once the second one is.

getAttr :: p -> Attr -> AttrSource

data System Source

High level descritption of a operating system.

Instances

class ActionResult a whereSource

Results of actions, with color.

data PrivDataField Source

Note that removing or changing field names will break the serialized privdata files, so don't do that! It's fine to add new fields.