summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2025-04-04 22:48:07 -0500
committerJohn Estabrook <jestabro@vyos.io>2025-04-11 13:36:10 -0500
commit992c5a2e8941f27843f112020383115bde076d21 (patch)
treeb9c63c2550e71b2675f67a5fad3f28a05135815c
parent603549e32030ed94bb95095a50c896c178e6a252 (diff)
downloadvyos1x-config-992c5a2e8941f27843f112020383115bde076d21.tar.gz
vyos1x-config-992c5a2e8941f27843f112020383115bde076d21.zip
T7321: add save config utility
-rw-r--r--src/config_file.ml11
-rw-r--r--src/config_file.mli2
2 files changed, 13 insertions, 0 deletions
diff --git a/src/config_file.ml b/src/config_file.ml
index 5fdf924..17d3f1b 100644
--- a/src/config_file.ml
+++ b/src/config_file.ml
@@ -31,3 +31,14 @@ let load_config file =
in Error out
end
+let save_config ct file =
+ try
+ let s = Config_tree.render_config ct in
+ let chan = open_out file in
+ let () = output_string chan s in
+ let () = close_out chan in
+ let () = Unix.chmod file 0o664 in
+ Ok ()
+ with
+ Sys_error msg -> Error msg
+
diff --git a/src/config_file.mli b/src/config_file.mli
index 607a8b5..3a87b4a 100644
--- a/src/config_file.mli
+++ b/src/config_file.mli
@@ -1,2 +1,4 @@
val load_config : string -> (Config_tree.t, string) result
+
+val save_config : Config_tree.t -> string -> (unit, string) result