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

Safe HaskellNone
LanguageHaskell98

Propellor.Property.File

Synopsis

Documentation

hasContent :: FilePath -> [Line] -> Property NoInfo Source

Replaces all the content of a file.

hasPrivContent :: IsContext c => FilePath -> c -> Property HasInfo Source

Ensures a file has contents that comes from PrivData.

The file's permissions are preserved if the file already existed. Otherwise, they're set to 600.

hasPrivContentFrom :: (IsContext c, IsPrivDataSource s) => s -> FilePath -> c -> Property HasInfo Source

Like hasPrivContent, but allows specifying a source for PrivData, rather than using PrivDataSourceFile .

hasPrivContentExposed :: IsContext c => FilePath -> c -> Property HasInfo Source

Leaves the file at its default or current mode, allowing "private" data to be read.

Use with caution!

containsLine :: FilePath -> Line -> Property NoInfo Source

Ensures that a line is present in a file, adding it to the end if not.

lacksLine :: FilePath -> Line -> Property NoInfo Source

Ensures that a line is not present in a file. Note that the file is ensured to exist, so if it doesn't, an empty file will be written.

notPresent :: FilePath -> Property NoInfo Source

Removes a file. Does not remove symlinks or non-plain-files.

dirExists :: FilePath -> Property NoInfo Source

Ensures a directory exists.

ownerGroup :: FilePath -> UserName -> GroupName -> Property NoInfo Source

Ensures that a file/dir has the specified owner and group.

mode :: FilePath -> FileMode -> Property NoInfo Source

Ensures that a file/dir has the specfied mode.