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

Safe HaskellNone
LanguageHaskell98

Propellor.PropAccum

Synopsis

Documentation

host :: HostName -> Host Source

Starts accumulating the properties of a Host.

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

class PropAccum h where Source

Something that can accumulate properties.

Methods

addProp :: IsProp p => h -> p -> h Source

Adds a property.

addPropFront :: IsProp p => h -> p -> h Source

Like addProp, but adds the property at the front of the list.

getProperties :: h -> [Property HasInfo] Source

(&) :: (PropAccum h, IsProp p) => h -> p -> h infixl 1 Source

Adds a property to a Host or other PropAccum

Can add Properties and RevertableProperties

(&^) :: (PropAccum h, IsProp p) => h -> p -> h infixl 1 Source

Adds a property before any other properties.

(!) :: PropAccum h => h -> RevertableProperty -> h infixl 1 Source

Adds a property in reverted form.

propagateContainer :: PropAccum container => String -> container -> Property HasInfo -> Property HasInfo Source

Adjust the provided Property, adding to its propertyChidren the properties of the provided container.

The Info of the propertyChildren is adjusted to only include info that should be propagated out to the Property.

Any PrivInfo that uses HostContext is adjusted to use the name of the container as its context.