re-conf.resources.file

File resources

chmod

(chmod dest mode)(chmod c dest mode)
Change file/directory mode resource:

(chmod "/home"/re-ops/.ssh" "0777")

chown

(chown dest uid gid)(chown c dest uid gid)
Change file/directory owner using uid & gid resource:

(chown "/home"/re-ops/.ssh" 1001 1002)

copy

(copy src dest)(copy c src dest)
Copy a file resource:

(copy src dest)

directory

(directory dest state)(directory c dest state)
Directory resource:

(directory "/tmp/bla" :present) ; create directory
(directory "/tmp/bla" :absent) ; remove directory

directory-states

file

(file dest state)(file c dest state)
File resource:

(file "/tmp/bla" :present) ; touch a file
(file "/tmp/bla" :absent) ; remove a file

file-states

fs

into-spec

(into-spec m args)

line

(line & as)
File line resource either append or remove lines:

(line "/tmp/foo" "bar"); append line to the file
(line "/tmp/foo" "bar" :present); append explicit
(line "/tmp/foo" (line-eq "bar") :absent); remove lines equal to bar from the file
(line "/tmp/foo" (fn [curr] (> 5 (.length curr))) :absent); remove lines using a function
(line "/tmp/foo" "key" "value" "=" :set); set key value using seperator

line-eq

(line-eq line)
line equal predicate

rename

(rename src dest)(rename c src dest)
Rename a file/directory resource:

(rename "/tmp/foo"  "/tmp/bar")

template

(template args tmpl dest)(template c args tmpl dest)
Create a file from a mustache template resource:

(template {:keys ...} "/home/re-ops/.ssh/autorized-keys" "authorized-keys.mustache")