summaryrefslogtreecommitdiff
path: root/src/session.mli
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2025-09-18 12:32:18 +0100
committerGitHub <noreply@github.com>2025-09-18 12:32:18 +0100
commit304e4d2a172fe1baf2c1df7f61b7a0a8e40f7d5d (patch)
tree4a415189068819e7914ae1352a69abe08eb45c60 /src/session.mli
parent2da0981501a9bec8b69d29f1e52c10db90571aa4 (diff)
parentbca62a7bd1da4e78497fdce3882421609ce28c00 (diff)
downloadvyconf-304e4d2a172fe1baf2c1df7f61b7a0a8e40f7d5d.tar.gz
vyconf-304e4d2a172fe1baf2c1df7f61b7a0a8e40f7d5d.zip
Merge pull request #31 from jestabro/interstitial-set
T7737: add analogue of configfs for config tree updates during commit
Diffstat (limited to 'src/session.mli')
-rw-r--r--src/session.mli24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/session.mli b/src/session.mli
index abe5165..a08f873 100644
--- a/src/session.mli
+++ b/src/session.mli
@@ -9,19 +9,29 @@ type world = {
dirs: Directories.t
}
+type aux_op = {
+ script_name: string;
+ tag_value: string option;
+ changeset: cfg_op list;
+} [@@deriving yojson]
+
type session_data = {
proposed_config : Vyos1x.Config_tree.t;
modified: bool;
conf_mode: bool;
changeset: cfg_op list;
+ mutable aux_changeset: aux_op list;
client_app: string;
- user: string;
- client_pid: int32
+ client_pid: int32;
+ client_user: string;
+ client_sudo_user: string;
}
exception Session_error of string
-val make : world -> string -> string -> int32 -> session_data
+val sprint_changeset : aux_op list -> string
+
+val make : world -> string -> string -> string -> int32 -> session_data
val set_modified : session_data -> session_data
@@ -33,6 +43,10 @@ val set : world -> session_data -> string list -> session_data
val delete : world -> session_data -> string list -> session_data
+val aux_set : world -> session_data -> string list -> string -> string option -> unit
+
+val aux_delete : world -> session_data -> string list -> string -> string option -> unit
+
val get_proposed_config : world -> session_data -> Vyos1x.Config_tree.t
val discard : world -> session_data -> session_data
@@ -55,7 +69,9 @@ val list_children : world -> session_data -> string list -> string list
val string_of_op : cfg_op -> string
-val prepare_commit : ?dry_run:bool -> world -> Vyos1x.Config_tree.t -> string -> Commitd_client.Commit.commit_data
+val prepare_commit : ?dry_run:bool -> world -> Vyos1x.Config_tree.t -> string -> int32 -> string -> string -> Commitd_client.Commit.commit_data
+
+val post_process_commit : world -> session_data -> Commitd_client.Commit.commit_data * Vyos1x.Config_tree.t -> Vyos1x.Config_tree.t * Vyos1x.Config_tree.t
val get_config : world -> session_data -> string -> string