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

Safe HaskellNone
LanguageHaskell98

Propellor.PropAccum

Synopsis

Documentation

host :: HostName -> Props metatypes -> Host Source #

Defines a host and its properties.

host "example.com" $ props
	& someproperty
	! oldproperty
	& otherproperty

data Props metatypes Source #

Props is a combination of a list of properties, with their combined metatypes.

Constructors

Props [ChildProperty] 

props :: Props UnixLike Source #

Start accumulating a list of properties.

Properties can be added to it using `(&)` etc.

(&) :: (IsProp p, MetaTypes y ~ GetMetaTypes p, CheckCombinable x y ~ CanCombine) => Props (MetaTypes x) -> p -> Props (MetaTypes (Combine x y)) infixl 1 Source #

Adds a property to a Props.

Can add Properties and RevertableProperties

(&^) :: (IsProp p, MetaTypes y ~ GetMetaTypes p, CheckCombinable x y ~ CanCombine) => Props (MetaTypes x) -> p -> Props (MetaTypes (Combine x y)) infixl 1 Source #

Adds a property before any other properties.

(!) :: CheckCombinable x z ~ CanCombine => Props (MetaTypes x) -> RevertableProperty (MetaTypes y) (MetaTypes z) -> Props (MetaTypes (Combine x z)) infixl 1 Source #

Adds a property in reverted form.