diff options
| author | John Estabrook <jestabro@vyos.io> | 2025-11-17 14:51:45 -0600 |
|---|---|---|
| committer | John Estabrook <jestabro@vyos.io> | 2025-11-20 20:58:39 -0600 |
| commit | a2cd5c0db7633a3cf92c6a0206eabaab7879f6af (patch) | |
| tree | d2025a73cf1b282238f8c7f9994d3f4713945bb8 /src | |
| parent | 6716443921891921619ff915b9306fbb9818fcdb (diff) | |
| download | vyconf-a2cd5c0db7633a3cf92c6a0206eabaab7879f6af.tar.gz vyconf-a2cd5c0db7633a3cf92c6a0206eabaab7879f6af.zip | |
T8009: make set/delete/show edit-level aware
Diffstat (limited to 'src')
| -rw-r--r-- | src/session.ml | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/session.ml b/src/session.ml index 44feb8f..248121d 100644 --- a/src/session.ml +++ b/src/session.ml @@ -197,15 +197,17 @@ let set w s path = if Vyos1x.Util.is_empty path then raise (Session_error "Path is empty") else - let _ = validate w s path in - let changeset' = update_set w s.changeset path in + let path_total = s.edit_level @ path in + let _ = validate w s path_total in + let changeset' = update_set w s.changeset path_total in { s with changeset = changeset' } let delete w s path = if Vyos1x.Util.is_empty path then raise (Session_error "Path is empty") else - let changeset' = update_delete w s.changeset path in + let path_total = s.edit_level @ path in + let changeset' = update_delete w s.changeset path_total in { s with changeset = changeset' } let aux_set w s path name tagval = @@ -559,14 +561,16 @@ let exists w s path = (VT.exists[@alert "-exn"]) c path let show_config w s path = + let path_total = s.edit_level @ path in let proposed_config = get_proposed_config w s in - if (path <> []) && not ((VT.exists[@alert "-exn"]) proposed_config path) + if not (Vyos1x.Util.is_empty path_total) && + not ((VT.exists[@alert "-exn"]) proposed_config path_total) then raise (Session_error "Path does not exist") else let res = (CD.diff_show[@alert "-exn"]) w.reference_tree - path + path_total w.running_config proposed_config in res |
