Module Augeas

module Augeas: sig .. end
Augeas OCaml bindings

type t 
Augeas library handle.
type flag = 
| AugSaveBackup (*
Rename original with .augsave
*)
| AugSaveNewFile (*
Save changes to .augnew
*)
| AugTypeCheck (*
Type-check lenses
*)
| AugNoStdinc
| AugSaveNoop
| AugNoLoad
| AugNoModlAutoload
| AugEnableSpan
| AugNoErrClose
| AugTraceModuleLoading (*
Flags passed to the Augeas.create function.
*)
type error_code = 
| AugErrInternal (*
Internal error (bug)
*)
| AugErrPathX (*
Invalid path expression
*)
| AugErrNoMatch (*
No match for path expression
*)
| AugErrMMatch (*
Too many matches for path expression
*)
| AugErrSyntax (*
Syntax error in lens file
*)
| AugErrNoLens (*
Lens lookup failed
*)
| AugErrMXfm (*
Multiple transforms
*)
| AugErrNoSpan (*
No span for this node
*)
| AugErrMvDesc (*
Cannot move node into its descendant
*)
| AugErrCmdRun (*
Failed to execute command
*)
| AugErrBadArg (*
Invalid argument in funcion call
*)
| AugErrLabel (*
Invalid label
*)
| AugErrCpDesc (*
Cannot copy node into its descendant
*)
| AugErrUnknown of int (*
Possible error codes.
*)
type transform_mode = 
| Include
| Exclude (*
The operation mode for the Augeas.transform function.
*)
exception Error of error_code * string * string * string * string
This exception is thrown when the underlying Augeas library returns an error. The tuple represents:
type path = string 
A path expression.

Note in future we may replace this with a type-safe path constructor.

type value = string 
A value.
val create : string -> string option -> flag list -> t
create root loadpath flags creates an Augeas handle.

root is a file system path describing the location of the configuration files.

loadpath is an optional colon-separated list of directories which are searched for schema definitions.

flags is a list of flags.

val close : t -> unit
close handle closes the handle.

You don't need to close handles explicitly with this function: they will be finalized eventually by the garbage collector. However calling this function frees up any resources used by the underlying Augeas library immediately.

Do not use the handle after closing it.

val defnode : t -> string -> string -> string option -> int * bool
defnode t name expr value defines name whose value is the result of evaluating expr, which is a nodeset.
val defvar : t -> string -> string option -> int option
defvar t name expr defines name whose value is the result of evaluating expr, replacing the old value if existing. None as expr removes the variable name.
val get : t -> path -> value option
get t path returns the value at path, or None if there is no value.
val exists : t -> path -> bool
exists t path returns true iff there is a value at path.
val insert : t -> ?before:bool -> path -> string -> unit
insert t ?before path label inserts label as a sibling of path. By default it is inserted after path, unless ~before:true is specified.
val label : t -> path -> string option
label t path gets the label of path.

Returns Some value when path matches only one node, and that has an associated label.

val rm : t -> path -> int
rm t path removes all nodes matching path.

Returns the number of nodes removed (which may be 0).

val matches : t -> path -> path list
matches t path returns a list of path expressions of all nodes matching path.
val mv : t -> path -> path -> unit
mv t src dest moves a node.
val count_matches : t -> path -> int
count_matches t path counts the number of nodes matching path but does not return them (see Augeas.matches).
val save : t -> unit
save t saves all pending changes to disk.
val load : t -> unit
load t loads files into the tree.
val set : t -> path -> value option -> unit
set t path sets value as new value at path.
val setm : t -> path -> string option -> value option -> int
setm t base sub value sets value as new value for all the nodes under base that match sub (or all, if sub is None).

Returns the number of nodes modified.

val transform : t -> string -> string -> transform_mode -> unit
transform t lens file mode adds or removes (depending on mode) the transformation of the specified lens for file.
val source : t -> path -> path option
source t path returns the path to the node representing the file to which path belongs, or None if path does not represent any file.