Open itdependsnetworks opened 2 years ago
Would the idea be to rework how the parsers work, or for these to be its own logic?
I think it should just be adding convenience methods.
Functions to be added: def find_blocks(): def find_children(): def find_children_w_parents(): def find_interface_objects(): def find_lineage(): def find_lines(): def find_object_branches(): def find_objects(): def find_objects_dna(): def find_objects_w_all_children(): def find_objects_w_child(): def find_objects_w_missing_children(): def find_objects_w_parents(): def find_objects_wo_child(): def find_parents_w_child(): def find_parents_wo_child():
For further clarity, ciscoconfparse uses GPL and intends to keep that license, this is an intention to get similar behaviour without the constructs that come with GPL license.
Environment
Proposed Functionality
Provided convinence methods to parse through a standard Ios-like (and potentially others) configurations. The idea being similar to CiscoConfParse in scope, but ideally to provide a few key features.
The ability to navigate nested configuration for a known path:
The ability to get configurations with parent context:
The ability to get configurations that match:
The ability to get configurations that contains:
And similar
Use Case
As an operator, I want the ability to find configurations based on various different characteristics. Such that I can quickly make logical choices, populate a SoT, find otherwise difficult to find configurations (offline), and quickly interrogate configurations across a large amount of data, just to name a few.